python基础语法练习
给n个数字,打印其平均数
n=0 sum=0 while 1: num=input('>>>') if num == 'quit': break n+=1 sum+=int(num) avg=sum//n print('avg is {}'.format(avg))
结果
>>>1 avg is 1 >>>2 avg is 1 >>>3 avg is 2 >>>quit
打印九九乘法表
for i in range(1,10): for j in range(1,i+1): print('{} * {} = {:<2}'.format(i,j,i*j),end=' ') print()
结果
1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
九九乘法表其他打印方式
1、左对齐
for i in range(1,10): for j in range(9,i-1,-1): print('{} * {} = {:<2}'.format(i,j,i*j),end=' ') print()
结果
1 * 9 = 9 1 * 8 = 8 1 * 7 = 7 1 * 6 = 6 1 * 5 = 5 1 * 4 = 4 1 * 3 = 3 1 * 2 = 2 1 * 1 = 1 2 * 9 = 18 2 * 8 = 16 2 * 7 = 14 2 * 6 = 12 2 * 5 = 10 2 * 4 = 8 2 * 3 = 6 2 * 2 = 4 3 * 9 = 27 3 * 8 = 24 3 * 7 = 21 3 * 6 = 18 3 * 5 = 15 3 * 4 = 12 3 * 3 = 9 4 * 9 = 36 4 * 8 = 32 4 * 7 = 28 4 * 6 = 24 4 * 5 = 20 4 * 4 = 16 5 * 9 = 45 5 * 8 = 40 5 * 7 = 35 5 * 6 = 30 5 * 5 = 25 6 * 9 = 54 6 * 8 = 48 6 * 7 = 42 6 * 6 = 36 7 * 9 = 63 7 * 8 = 56 7 * 7 = 49 8 * 9 = 72 8 * 8 = 64 9 * 9 = 81
2、右对齐
for i in range(1,10): print(' '*13*(i-1),end='') for j in range(i,10): print('{} * {} = {:<3}'.format(i,j,i*j),end=' ') print()
结果
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 1 * 6 = 6 1 * 7 = 7 1 * 8 = 8 1 * 9 = 9 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54 7 * 7 = 49 7 * 8 = 56 7 * 9 = 63 8 * 8 = 64 8 * 9 = 72 9 * 9 = 81
打印菱形
第一种,双循环
for i in range(1,9,2): print('{:^7}'.format('*'*i)) for j in range(5,0,-2): print('{:^7}'.format('*'*j))
第二种,根据图形的结构可以看出是中心对称
for i in range(-3,4): if i <0: print('{:^7}'.format('*'*(7-(-i*2)))) else: print('{:^7}'.format('*'*(7-(i*2))))
打印闪电
for i in range(-3,4): if i <0: print('{}{}'.format(' '*-(i),'*'*(4-(-i)))) elif i == 0: print('*'*7) else: print('{:3}{}'.format(' '*i,'*'*(4-i)))
打印20以内的斐波那契数列
a=0 b=1 for i in range(20): c=a+b a=b b=c print(c,end=' ')
结果
1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946
求斐波那契数列第21项
a=0 b=1 count=0 for i in range(21): c=a+b a=b b=c count +=1 if count == 21: break print(c)
求100以内的素数
for i in range(2,100): for j in range(2,int(i**0.5)+1): if i %j==0: break else: print(i,end=' ')
结果
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
猴子吃桃问题
猴子有一堆桃子,每天吃掉一半,觉得不过瘾,又多吃一个。到第九天看到只剩1个桃子了,求桃子数量
i=1 for _ in range(1,10): i=2*i+2 print(i)
结果
1534
posted on 2020-07-19 21:08 hopeless-dream 阅读(202) 评论(0) 编辑 收藏 举报