99乘法表是基础编程练习中非常经典的案例,用Python实现它的核心逻辑是利用嵌套循环遍历行和列,再按照乘法表的格式输出对应的计算结果。下面先介绍最通用的实现方式。

基础嵌套for循环实现
99乘法表的行数和列数都是从1到9,每一行的列数等于当前行号,因此可以用外层循环控制行数,内层循环控制列数,具体代码如下:
# 外层循环控制行数,i从1到9
for i in range(1, 10):
# 内层循环控制列数,j从1到当前行号i
for j in range(1, i + 1):
# 输出乘法表达式和结果,end参数控制不换行,用制表符分隔
print(f"{j}×{i}={i*j}", end="t")
# 每一行结束后换行
print()
运行这段代码后,会得到标准的左下三角99乘法表,输出结果如下:
1×1=1 1×2=2 2×2=4 1×3=3 2×3=6 3×3=9 1×4=4 2×4=8 3×4=12 4×4=16 1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81
代码逻辑解析
这里用到的range函数是Python内置的序列生成函数,range(1,10)会生成1到9的整数序列,刚好对应乘法表的9行。内层循环的range(1, i+1)保证每一行的列数和行号一致,符合99乘法表的排列规则。
print函数的end参数默认是换行符,这里设置为t制表符,可以让同一个行的多个乘法表达式横向排列,对齐效果更好。每一行内层循环结束后单独调用一次无参数的print,实现换行效果。
其他常见实现方式
使用while循环实现
除了for循环,也可以用while循环实现同样的效果,逻辑和for循环一致,只是循环控制的方式不同:
i = 1
# 外层while循环控制行数
while i <= 9:
j = 1
# 内层while循环控制列数
while j <= i:
print(f"{j}×{i}={i*j}", end="t")
j += 1
print()
i += 1
右上三角格式输出
如果需要输出右上三角的99乘法表,只需要调整内层循环的范围,让列数从当前行号开始到9即可:
for i in range(1, 10):
# 先输出前面的空格占位,保证对齐
for k in range(1, i):
print("t", end="")
# 内层循环从i到9
for j in range(i, 10):
print(f"{i}×{j}={i*j}", end="t")
print()
常见问题说明
- 如果输出的时候对齐混乱,可以检查是否使用了等宽字体,或者把
t换成固定长度的空格填充。 - 如果需要输出乘号是*而不是×,只需要把f-string里的×替换成*即可。
- 新手容易把内层循环的范围写成
range(1,10),这样会输出完整的9列,不符合99乘法表的规则,需要注意调整范围。