练习61:

题目:

打印出杨辉三角形。  

程序:

if __name__ == '__main__':
a = []
for i in range(10):
a.append([])
for j in range(10):
a[i].append(0)
for i in range(10):
a[i][0] = 1
a[i][i] = 1
for i in range(2, 10):
for j in range(1, i):
a[i][j] = a[i - 1][j - 1] + a[i - 1][j]
for i in range(10):
for j in range(i + 1):
print(str(a[i][j]), end=" ")
print()

输出结果:

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

练习62:

题目:

查找字符串。  

程序:

sStr1 = 'abcdefg'
sStr2 = 'cde'
print(sStr1.find(sStr2))

输出结果:

 2

练习63:

题目:

画椭圆。 

分析:使用 Tkinter。

程序:

if __name__ == '__main__':
from Tkinter import *
x = 360
y = 160
top = y - 30
bottom = y - 30 canvas = Canvas(width = 400,height = 600,bg = 'white')
for i in range(20):
canvas.create_oval(250 - top,250 - bottom,250 + top,250 + bottom)
top -= 5
bottom += 5
canvas.pack()
mainloop()

练习64:

题目:

利用ellipse 和 rectangle 画图。

程序:

if __name__ == '__main__':
from Tkinter import *
canvas = Canvas(width = 400,height = 600,bg = 'white')
left = 20
right = 50
top = 50
num = 15
for i in range(num):
canvas.create_oval(250 - right,250 - left,250 + right,250 + left)
canvas.create_oval(250 - 20,250 - top,250 + 20,250 + top)
canvas.create_rectangle(20 - 2 * i,20 - 2 * i,10 * (i + 2),10 * ( i + 2))
right += 5
left += 5
top += 10 canvas.pack()
mainloop()

练习65:

题目:

一个最优美的图案。  

程序:

import math
class PTS:
def __init__(self):
self.x = 0
self.y = 0
points = [] def LineToDemo():
from Tkinter import *
screenx = 400
screeny = 400
canvas = Canvas(width = screenx,height = screeny,bg = 'white') AspectRatio = 0.85
MAXPTS = 15
h = screeny
w = screenx
xcenter = w / 2
ycenter = h / 2
radius = (h - 30) / (AspectRatio * 2) - 20
step = 360 / MAXPTS
angle = 0.0
for i in range(MAXPTS):
rads = angle * math.pi / 180.0
p = PTS()
p.x = xcenter + int(math.cos(rads) * radius)
p.y = ycenter - int(math.sin(rads) * radius * AspectRatio)
angle += step
points.append(p)
canvas.create_oval(xcenter - radius,ycenter - radius,
xcenter + radius,ycenter + radius)
for i in range(MAXPTS):
for j in range(i,MAXPTS):
canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y) canvas.pack()
mainloop() if __name__ == '__main__':
LineToDemo()

练习66:

题目:

输入3个数a,b,c,按大小顺序输出。   

程序:

if __name__ == '__main__':
n1 = int(input('n1 = :'))
n2 = int(input('n2 = :'))
n3 = int(input('n3 = :')) def swap(p1, p2):
return p2, p1 if n1 > n2: n1, n2 = swap(n1, n2)
if n1 > n3: n1, n3 = swap(n1, n3)
if n2 > n3: n2, n3 = swap(n2, n3) print(n1, n2, n3)

输出结果:

n1 = :5
n2 = :6
n3 = :2
2 5 6

练习67:

题目:

输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

程序:

def inp(numbers):
for i in range(6):
numbers.append(int(input('输入一个数字:'))) p = 0 def arr_max(array):
max = 0
for i in range(1, len(array) - 1):
p = i
if array[p] > array[max]: max = p
k = max
array[0], array[k] = array[k], array[0] def arr_min(array):
min = 0
for i in range(1, len(array) - 1):
p = i
if array[p] < array[min]: min = p
l = min
array[5], array[l] = array[l], array[5] def outp(numbers):
for i in range(len(numbers)):
print(numbers[i]) if __name__ == '__main__':
array = []
inp(array) # 输入 6 个数字并放入数组
arr_max(array) # 获取最大元素并与第一个元素交换
arr_min(array) # 获取最小元素并与最后一个元素交换
print('计算结果:')
outp(array)

输出结果:

输入一个数字:1
输入一个数字:2
输入一个数字:5
输入一个数字:8
输入一个数字:7
输入一个数字:6
计算结果:
8
2
5
6
7
1

练习68:

题目:

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

程序:

if __name__ == '__main__':
n = int(input('整数 n 为:\n'))
m = int(input('向后移 m 个位置为:\n')) def move(array, n, m):
array_end = array[n - 1]
for i in range(n - 1, -1, - 1):
array[i] = array[i - 1]
array[0] = array_end
m -= 1
if m > 0: move(array, n, m) number = []
for i in range(n):
number.append(int(input('输入一个数字:\n')))
print('原始列表:', number) move(number, n, m) print('移动之后:', number)

输出结果:


整数 n 为:
5
向后移 m 个位置为:
2
输入一个数字:
1
输入一个数字:
2
输入一个数字:
3
输入一个数字:
4
输入一个数字:
5
原始列表: [1, 2, 3, 4, 5]
移动之后: [4, 5, 1, 2, 3]

练习69:

题目:

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

程序:

if __name__ == '__main__':
nmax = 50
n = int(input('请输入总人数:'))
num = []
for i in range(n):
num.append(i + 1) i = 0
k = 0
m = 0 while m < n - 1:
if num[i] != 0: k += 1
if k == 3:
num[i] = 0
k = 0
m += 1
i += 1
if i == n: i = 0 i = 0
while num[i] == 0: i += 1
print(num[i])

输出结果:

请输入总人数:32
4

练习70:

题目:

写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

程序:

if __name__ == '__main__':
s = input('please input a string:\n')
print('the string has %d characters.' % len(s))

输出结果:

please input a string:
1215sd4f5
the string has 9 characters.

Python3.x 基础练习题100例(61-70)的更多相关文章

  1. Python3.x 基础练习题100例(31-40)

    练习31: 题目: 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. 分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母. 程序 ...

  2. Python3.x 基础练习题100例(01-10)

    练习01: 题目: 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 分析: 可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...

  3. Python3.x 基础练习题100例(51-60)

    练习51: 题目: 学习使用 按位与(&) . 分析: 0&0=0; 0&1=0; 1&0=0; 1&1=1. 程序: if __name__ == '__ma ...

  4. Python3.x 基础练习题100例(41-50)

    练习41: 题目: 模仿静态变量的用法. 程序: def varfunc(): var = 0 print('var = %d' % var) var += 1 if __name__ == '__m ...

  5. Python3.x 基础练习题100例(21-30)

    练习21: 题目: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前 一天剩下的一半零一个.到第10天早上 ...

  6. Python3.x 基础练习题100例(11-20)

    练习11: 题目: 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析: 兔子的规律为数列1,1,2, ...

  7. Python3.x 基础练习题100例(81-90)

    练习81: 题目: 809??=800??+9?? 其中??代表的两位数, 809??为四位数,8??的结果为两位数,9??的结果为3位数.求??代表的两位数,及809*??后的结果. 程序: a = ...

  8. Python3.x 基础练习题100例(91-100)

    练习91: 题目: 时间函数举例1. 程序: if __name__ == '__main__': import time print (time.ctime(time.time())) print ...

  9. Python3.x 基础练习题100例(71-80)

    练习71: 题目: 编写input()和output()函数输入,输出5个学生的数据记录. 程序: N = 5 # stu # num : string # name : string # score ...

随机推荐

  1. CF-1291 D - Irreducible Anagrams

    D. Irreducible Anagrams 题意 若两个字符串中每个字符的个数都是一样的,则称他们互为\(anagrams\).现在定义两个字符串s,t是\(reducible~anagram\) ...

  2. AC自动机(转载)

    ac自动机学习博客 本来以为是很高级的算法 其实理解以后并不难 只是在字典树的基础上用fail数组标记一下回朔的位置 加速查找 就可以实现多模式串的匹配查找 模版如下: #include<cst ...

  3. python对csv文件读写的两种方式 和 读写文件编码问题处理

    ''' 如果文件读取数据出错,可以考虑加一个encoding属性,取值可以是:utf-8,gbk,gb18030 或者加一个属性error,取值为ignore,例如 open(path, encodi ...

  4. hdu5459 Jesus Is Here

    Problem Description I've sent Fang Fang around 201314 text messages in almost 5 years. Why can't she ...

  5. Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords (贪心)

    题意:你有\(a\)个树枝和\(b\)个钻石,\(2\)个树枝和\(1\)个钻石能造一个铁铲,\(1\)个树枝和\(2\)个钻石能造一把剑,问最多能造多少铲子和剑. 题解:如果\(a\le b\),若 ...

  6. XHXJ's LIS HDU - 4352 最长递增序列&数位dp

    代码+题解: 1 //题意: 2 //输出在区间[li,ri]中有多少个数是满足这个要求的:这个数的最长递增序列长度等于k 3 //注意是最长序列,可不是子串.子序列是不用紧挨着的 4 // 5 // ...

  7. rabbitmq常见面试题

    1.使用RabbitMQ有什么好处?1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 2.异步,将消息写入消息队列,非必要的业务逻辑以异步的方 ...

  8. kafka消息队列、环境搭建与使用(.net framework)

    一:kafka介绍 kafka(官网地址:http://kafka.apache.org)是一种高吞吐量的分布式发布订阅的消息队列系统,具有高性能和高吞吐率. 1.1 术语介绍 BrokerKafka ...

  9. 创建java文件和注释

    创建java文件和注释 一 创建java文件 在文件夹里创建txt文本文件,后将格式改为.java, 输入 1 public class Hello{ 2 public static void mai ...

  10. 一个操作系统的实现sudo mount -o loop pm.img /mnt/floppy mount point /mnt/floppy does not exist losetup device is busy

    部分参考:https://blog.csdn.net/u012323667/article/details/79266623 一. sudo mount -o loop pm.img /mnt/flo ...