运用循环结构输出九九乘法表

1.while循环:
i=9
while i>0:
    j =1
    while j <=i:
        print(i,'*',j,'=',i*j,end='')
        j +=1
    print()
    i -=1
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

输出返回值:

8 * 1 = 88 * 2 = 168 * 3 = 248 * 4 = 328 * 5 = 408 * 6 = 488 * 7 = 568 * 8 = 64
7 * 1 = 77 * 2 = 147 * 3 = 217 * 4 = 287 * 5 = 357 * 6 = 427 * 7 = 49
6 * 1 = 66 * 2 = 126 * 3 = 186 * 4 = 246 * 5 = 306 * 6 = 36
5 * 1 = 55 * 2 = 105 * 3 = 155 * 4 = 205 * 5 = 25
4 * 1 = 44 * 2 = 84 * 3 = 124 * 4 = 16
3 * 1 = 33 * 2 = 63 * 3 = 9
2 * 1 = 22 * 2 = 4
1 * 1 = 1
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

代码逻辑解释:首先赋予i值为9; 如果i大于零,则等于1;进行内层循环,如果 j小于等于i,则输出: print(i,‘‘,j,’=',ij,end=’');

并且j加1输出作为下一循环的i值,i减一作为下一循环的i值。之后的循环同样的道理。

2.for循环左上角乘法表:
for i in range(1,10):
    for j in range(1,i+1):
        print(j,'*',i,'=',j*i,end=' ')
    print('\r')
  • 1.
  • 2.
  • 3.
  • 4.

输出返回值:

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 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

代码逻辑解释:首先运用range限制i的取值范围,取值范围为1到9。j的·取值范围随着i的变化而变化。例如:当i取3时j的取值范围1,2,3。则进行输出:print(j,‘‘,i,’=',ji,end=’ ') 当内部的for循环不满足时,退外部for循环,仅辖一个循环。

3.for循环左上乘法表:
for i in range(1,10):
    for j in range(i,10):
        print(j,'*',i,'=',j*i,end=' ')
    print(" ")
  • 1.
  • 2.
  • 3.
  • 4.

输出返回值:

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

<!–注意: print(" ") #这里是用print的特性,进行换行输出–>

4.右下角乘法表:
for i in range(9,0,-1):
    for b in range(9,i,-1):
        print(end="       ")
    for j in range(i,0,-1):
        print("{0}*{1}={2:2d}".format(i,j ,i*j),end=" ")
    print(" ")
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

输出返回值:

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

代码逻辑解释:与2.for循环同理,不同的地方range限制左右取值界限,而且将加1改为减1运用了倒序。

<!–<!–注意:这里是用format函数进行格式化输出控制,{2:2d}是给{2}这个位置两倍的空间,对齐乘法表–>–>