python实现九九乘法表

  • Post author:
  • Post category:python


九九算法表图如下:


上图来自百度图片

1、分析图表

九九算法表要实现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),至此分析完毕!

2、参考代码如下:

for i in range(1,10):   —第一层循环用于确定行

for j in range(1,i+1):  —第二层循环用于确定一行打印多少公式

print(str(j)+”x”+str(i)+”=”+str(i*j),end=’ ‘) —打印公式

if(i==j):  —判断条件,换行

print(“\n”)

3、另外一种代码参考

a=int(input(“>>>”))

for i in range(-a,a+1):

if(i<0):

print(“{}{}”.format(”  “*(-i),”*”*(2*a+1+2*i)))

#print(”  “*(-i),”*”*(2*a+1+2*i))

else:

print(“{}{}”.format(”  “*(i),”*”*(2*a+1-2*i)))

阐述不易,敬请指正!



版权声明:本文为java_boy_c原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。