python基本语法练习

1、打印九九乘法表
#只打印结果
for i in range(1,10):
    for j in range(1,i+1):
        print(i*j,end=" ")
    print()

#打印算数表达式
for i in range(1,10):
    for j in range(1,i+1):
        print("{0}*{1} = {2:2}".format(j,i,i*j),end="  ")
        print()

1*1 =  1  
1*2 =  2  2*2 =  4  
1*3 =  3  2*3 =  6  3*3 =  9  
1*4 =  4  2*4 =  8  3*4 = 12  4*4 = 16  
1*5 =  5  2*5 = 10  3*5 = 15  4*5 = 20  5*5 = 25  
1*6 =  6  2*6 = 12  3*6 = 18  4*6 = 24  5*6 = 30  6*6 = 36  
1*7 =  7  2*7 = 14  3*7 = 21  4*7 = 28  5*7 = 35  6*7 = 42  7*7 = 49  
1*8 =  8  2*8 = 16  3*8 = 24  4*8 = 32  5*8 = 40  6*8 = 48  7*8 = 56  8*8 = 64  
1*9 =  9  2*9 = 18  3*9 = 27  4*9 = 36  5*9 = 45  6*9 = 54  7*9 = 63  8*9 = 72  9*9 = 81

#将打印矩阵转置一下
for i in range(1,10):
    print(" " *10*(i-1), end = " ")
    for j in range(i,10):
        print("{0}*{1} = {2:<2}".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  

2、打印一个菱形(行数为奇数行)

for i in range(-3,4):
    prespace=(-i if i<0 else i)
    print(" "*prespace + '*'*(7-2*prespace))

   *
  ***
 *****
*******
 *****
  ***
   *



#变形之打印一道闪电
while True:
    line_max = int(input("please input a odd number: "))
    if line_max % 2:
        break
range_num = (line_max + 1)//2

for i in range(-range_num+1,range_num):
    if i == 0:
        print('*'*line_max)
    elif i > 0:
        print(' '*(range_num-1) + "*"*(range_num-i))
    else:
        print(' '*(-i) + '*'*(range_num+i))

   *
  **
 ***
*******
   ***
   **
   *

#变形之打印掏空的菱形
for i in range(-4,5):
    if i == -4 or i == 4:
        print('*'*9)
    else:
        prespace=(-i+1 if i<0 else i+1)
        print("*"*prespace + ' '*(9-2*prespace) + "*"*prespace)

*********
**** ****
***   ***
**     **
*       *
**     **
***   ***
**** **** 
*********

3、打印100以内的斐波那契数列
f0, f1 = 0, 1
while f1 <= 100:
    print(f1, end = " ")
    t = f1
    f1 = t + f0
    f0 = t

暂时还不理解的写法:
f0, f1 = 0, 1
while f1 <= 100:
    print(f1)
    f0, f1 = f1, f0 + f1 #python对这样的赋值怎样处理

4、求斐波那契数列第101项
f0, f1 = 0, 1
for i in range(3,102):
    t = f1
    f1 = t + f0
    f0 = t
else:
    print(f1)

 

posted @ 2017-09-18 19:03  Wadirum  阅读(502)  评论(2编辑  收藏  举报