程序分析:使用 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 inrange(20):
canvas.create_oval(250- top,250- bottom,250+ top,250+ bottom)
top -=5
bottom +=5
canvas.pack()
mainloop()
4. 利用ellipse 和 rectangle 画图。。
程序分析:无。
if __name__ =='__main__':from Tkinter import*
canvas = Canvas(width =400,height =600,bg ='white')
left =20
right =50
top =50
num =15for i inrange(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()
程序分析:无。
definp(numbers):for i inrange(6):
numbers.append(int(input('输入一个数字:\n')))
p =0defarr_max(array):max=0for i inrange(1,len(array)-1):
p = i
if array[p]> array[max]:max= p
k =max
array[0],array[k]= array[k],array[0]defarr_min(array):min=0for i inrange(1,len(array)-1):
p = i
if array[p]< array[min]:min= p
l =min
array[5],array[l]= array[l],array[5]defoutp(numbers):for i inrange(len(numbers)):print( numbers[i])if __name__ =='__main__':
array =[]
inp(array)# 输入 6 个数字并放入数组
arr_max(array)# 获取最大元素并与第一个元素交换
arr_min(array)# 获取最小元素并与最后一个元素交换print('计算结果:')
outp(array)# 以上实例输出结果为:'''
输入一个数字:
1
输入一个数字:
2
输入一个数字:
3
输入一个数字:
7
输入一个数字:
9
输入一个数字:
8
计算结果:
9
2
3
7
8
1
'''
8. 有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数
程序分析:无。
if __name__ =='__main__':
n =int(input('整数 n 为:\n'))
m =int(input('向后移 m 个位置为:\n'))defmove(array,n,m):
array_end = array[n -1]for i inrange(n -1,-1,-1):
array[i]= array[i -1]
array[0]= array_end
m -=1if m >0:move(array,n,m)
number =[]for i inrange(n):
number.append(int(input('输入一个数字:\n')))print('原始列表:',number)
move(number,n,m)print('移动之后:',number)# 以上实例输出结果为:'''
整数 n 为:
8
向后移 m 个位置为:
5
输入一个数字:
2
输入一个数字:
8
输入一个数字:
6
输入一个数字:
1
输入一个数字:
78
输入一个数字:
45
输入一个数字:
34
输入一个数字:
2
原始列表: [2, 8, 6, 1, 78, 45, 34, 2]
移动之后: [1, 78, 45, 34, 2, 2, 8, 6]
'''
程序分析:无。
if __name__ =='__main__':
nmax =50
n =int(input('请输入总人数:'))
num =[]for i inrange(n):
num.append(i +1)
i =0
k =0
m =0while m < n -1:if num[i]!=0: k +=1if k ==3:
num[i]=0
k =0
m +=1
i +=1if i == n : i =0
i =0while num[i]==0: i +=1print( num[i])# 执行以上代码,输出结果:'''
$ python test.py
请输入总人数:34
10
'''
10. 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
程序分析:无。
if __name__ =='__main__':
s =input('please input a string:\n')print('the string has %d characters.'%len(s))# 以上实例输出结果为:'''
please input a string:
abc
the string has 3 characters.
'''
程序分析:无。
if __name__ =='__main__':
ptr =[]for i inrange(5):
num =int(input('please input a number:\n'))
ptr.append(num)print( ptr)# 以上实例输出结果为:'''
please input a number:
3
please input a number:
5
please input a number:
7
please input a number:
8
please input a number:
2
[3, 5, 7, 8, 2]
'''
13. 反向输出一个链表。
程序分析:无。
if __name__ =='__main__':
ptr =[]for i inrange(5):
num =int(input('please input a number:\n'))
ptr.append(num)print( ptr)
ptr.reverse()print( ptr)# 以上实例输出结果为:'''
please input a number:
6
please input a number:
5
please input a number:
3
please input a number:
4
please input a number:
8
[6, 5, 3, 4, 8]
[8, 4, 3, 5, 6]
'''
14. 列表排序及连接。
程序分析:排序可使用 sort() 方法,连接可以使用 + 号或 extend() 方法。
if __name__ =='__main__':
a =[1,3,2]
b =[3,4,5]
a.sort()# 对列表 a 进行排序print( a)# 连接列表 a 与 bprint( a+b)# 连接列表 a 与 b
a.extend(b)print( a)'''
[1, 2, 3]
[1, 2, 3, 3, 4, 5]
[1, 2, 3, 3, 4, 5]
'''
15. 放松一下,算一道简单的题目。
程序分析:无。
if __name__ =='__main__':for i inrange(5):
n =0if i !=1: n +=1if i ==3: n +=1if i ==4: n +=1if i !=4: n +=1if n ==3:print(64+ i)# 以上实例输出结果为:'''
67
'''
程序分析:无。
defpeven(n):
i =0
s =0.0for i inrange(2,n +1,2):
s +=1.0/ i # Python里,整数除整数,只能得出整数,所以需要使用 浮点数 1.0return s
defpodd(n):
s =0.0for i inrange(1, n +1,2):
s +=1.0/ i # Python里,整数除整数,只能得出整数,所以需要使用 浮点数 1.0return s
defdcall(fp,n):
s = fp(n)return s
if __name__ =='__main__':
n =int(input('input a number:\n'))if n %2==0:sum= dcall(peven,n)else:sum= dcall(podd,n)print(sum)#以上实例输出结果为:'''
input a number:
6
0.916666666667
'''
17. 循环输出列表
程序分析:无。
if __name__ =='__main__':
s =["man","woman","girl","boy","sister"]for i inrange(len(s)):print( s[i])# 以上实例输出结果为:'''
man
woman
girl
boy
sister
'''
18. 找到年龄最大的人,并输出。请找出程序中有什么问题。
程序分析:无。
if __name__ =='__main__':
person ={"li":18,"wang":50,"zhang":20,"sun":22}
m ='li'for key in person.keys():if person[m]< person[key]:
m = key
print('%s,%d'%(m,person[m]))# 以上实例输出结果为:'''
wang,50
'''
程序分析:无。
if __name__ =='__main__':
i =0
j =1
x =0while(i <5):
x =4* j
for i inrange(0,5):if(x%4!=0):breakelse:
i +=1
x =(x/4)*5+1
j +=1print( x)# 以上实例输出结果为:'''
3121
'''