思路分析
Step1:
首先,我们先来对99乘法表【行的规律】进行分析,如下图:
我们可以看出,图片中,每一个算式的第二个乘数,即它所在的行数。例如:
对于算式“2*3=6”,第二个乘数为3,所以这个算式就在乘法表的第3行,因而我们容易想到,可以设置一个循环,每循环一次,就相应的打印出乘法表的一行,而循环的次数,也就对应上面所说的“第二个乘数” 。
Step2:
接下来,我们对每一行进行分析,如下图:
这里我们以第3行为例。
在第3行中,第一个乘数分别为1、2、3,通过分析可知,“第一个乘数”的规律为:1、2、……、i,其中i为当前的行数(1<=i<=9)。
通过分析可知,我们可以在Step1中的每一次循环中,再嵌套一个循环,这个循环专门负责控制“第一个乘数”。
通过上面两个步骤,“第一个乘数”和“第二个乘数”都得到了,结果直接相乘也就得到了,至此,大功告成!
Python代码实现
# 打印99乘法表
# i控制打印的行数,即“第二个乘数”
i = 1
while i <= 9:
# j即“第一个乘数”
j = 1
while j <= i:
# 这里的if-else语句主要是为了每一行结尾不要有三个空格
if j == i:
print("%d * %d = %2d" % (j, i, i * j), end="")
else:
print("%d * %d = %2d" % (j, i, i*j), end=" ")
j += 1
# 这里的if-else语句是为了在乘法表的最后一行末尾不要再进行换行
if i == 9:
print(end="")
else:
print()
i += 1
感谢您的阅读!
如有疏漏,欢迎您的指正!