8.输出 9*9 口诀
【程序 8】
题目:输出 9*9 口诀。
1.程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列。
2.程序源代码:
# 输出9*9乘法口诀表 for i in range(1, 10): # 控制行 for j in range(1, i + 1): # 控制列,只输出上三角部分 result = i * j print('%d * %d = %-3d' % (i, j, result), end=' ') print('') # 每一行后换行
代码解析:
-
外层循环
for i in range(1, 10)
:控制行变量i
,范围从1到9,表示乘法表中的每一行。 -
内层循环
for j in range(1, i + 1)
:控制列变量j
,其范围从1到i
,这样可以只打印出乘法表的上三角部分。例如,当i=3
时,内层循环会打印1*1
,2*1
,2*2
,3*1
,3*2
,3*3
。 -
计算结果
result = i * j
:每次乘法计算的结果。 -
输出格式
print('%d * %d = %-3d' % (i, j, result), end=' ')
:格式化输出乘法表。%-3d
表示结果左对齐,占3个字符的宽度,end=' '
确保在同一行输出。 -
print('')
:在内层循环结束后添加换行,开始下一行打印。
输出结果示例:
代码运行后将输出如下格式的乘法表:
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
方法二:
for i in range(1,10):
string = ""
for j in range(1,i+1):
string +=str(j)+"*"+str(i)+"="+str(i*j)+"\t"
print(string)
方法三:
for i in range (1,10):
for j in range(1,i+1):
print(str(j)+"*"+str(i)+"="+str(i*j)+"\t",end="")
print("\n",end="")
方法四:
for i in range(1, 10): # 乘法表的第一个数(乘数),从1到9
for j in range(1, i+1): # 乘法表的第二个数(被乘数),从1到当前的i(因为乘法表是上三角的)
# 打印乘法表的一项,end参数用于在同一行打印多个项,不换行
# 使用格式化字符串来对齐输出,确保乘法表的整洁
print(f"{j}x{i}={i*j}\t", end='')
# 当一行打印完毕后,输出换行符以开始新的一行
print()
方法五:
# 使用列表推导式和join方法生成并打印乘法表
for i in range(1, 10):
# 列表推导式生成乘法表的每一行
row = [f"{j}*{i}={i*j}" for j in range(1, i+1)]
# 使用join方法连接行中的字符串,并用制表符分隔
print('\t'.join(row))
柳志军:13418977808(手机微信),QQ:93684042