hopeless-dream

导航

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编辑  收藏  举报