小姐姐学Python-class2

99乘法口诀表

上过小学的朋友张口就来的乘法口诀表,在Python里我们也要求抬手就能写出来,代码不长,一共4行。

效果预览
《小姐姐学Python-class2》

思路分析

首先,拿到要求,我们观察规律。
显然,乘法口诀表太有规律了,我们的目的就是把这种规律总结出来,通过Python的循环,实现这一规律。

所以下面这种代码是一定不行的🔨

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''')

分析1,我们发现,一共有9行。所以我们可以用一个外层for循环表示这个规律
for i in range(1,10):
分析2,我们发现,每一行里面随着行数增加,列数也在增加(第一行1个乘法对,第二行2个乘法对,第九行9个乘法对),所以我们可以用第二层循环来实现,第二层循环每次循环的次数(1,2 … 8,9),正好是第一层循环的i,因此

for i in range(1,10):
    for j in range(1,i+1):

此时,我们试着在循环中输出i,j,并在每个内层循环结束后,输出换行。

for i in range(1,10):
    for j in range(1,i+1):
        print(i,j,end=' ')
    print()

结果如下:
《小姐姐学Python-class2》
我们已经拿到了所有乘法口诀表需要的乘法对了,剩下的是乘法结果,以及格式化输出。

for i in range(1,10):
    for j in range(1,i+1):
        print(' %d * %d = %d ' % (j,i ,j * i),end = '')
    print()

tobe continue…

点赞