九九算法表要实现1X1=1到9X9=81的排列,那么可以考虑双重for循环,即为j X i =?形式。所以初步写代码的时候可以不求格式打印所有的值。当所有的值都可以打印出来的时候需要考虑去掉每一个print中默认的换行,这样便于打印规范的格式,我们可以使用空格代替换行,在print中重写end=' '。到这里已经可以去掉空格。再来看图,默认的print只能以行打印,不可能像矩阵直接把公式放入二维坐标中,所以我们需要观察打印完每一行最后一个公式的规律,不难发现,每一行最后的i是和j相等的,即有条件if(i==j),就打印一个换行。在每一行中可以发现,i是不变的,j会随着每增加一行而不断增加至与行数相等的数值,所以我们第一层循环可以用 for i in range(1,10),而第二层循环则为for j in range(1,i+1),至此分析完毕!
参考代码如下:
for m in range(1, 10): for n in range(1, m+1): print("%d*%d=%d\t"%(n,m,n*m), end="") print("")
输出结果(更多学习内容,请点击python学习网)
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