问题描述:从键盘输入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("")运行结果:
