问题描述:从键盘输入k(k<10),输出九九乘法表前k行的结果,效果如下(每行乘积式占8列宽度,左对齐)。
介绍:打印九九乘法表的问题是编程中的经典问题,主要用到的是嵌套循环,我这里用的是for循环,用while循环应该也可以的。
解法:第一个循环的变量是我们输入的值[input],我们从外循环的次数[记为i]开始,然后循环到我们输入的值[input]结束,例如:输入7,循环[1]:1-7;循环[2]:2-7
里面写的循环有两个,第一个是计数[i]之前打印空的字符串,第二个是计数[i]之后打印表达式
代码:
# 存储输入,并转化为int类型,后面循环用
input=int(input())
# 定义循环变量的初始值为1
i,j = 1,1
for i in range(i,input+1):
for k in range(1,i):
# 计数[i]之前打印空的字符串,格式化打印,左对齐占8个字符
print(("").ljust(8),end="")
for j in range(i,input+1):
# 计数[i]之后打印表达式
print(('%s*%s=%s' %(i,j,i*j)).ljust(8),end="")
#print((str(i)+"*"+str(j)+"="+str(i*j)).ljust(8),end="")
# 内循环递增
j+=1
# 外循环递增
i+=1
# 打印过行
print("")