社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
九九算法表图如下:
上图来自百度图片
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)))
阐述不易,敬请指正!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!