Python入门实战:九九乘法表代码实现

清欢
清欢
发布时间:2026-10-20 | 4人浏览过
原创

在 Python 编程入门阶段,打印九九乘法表是掌握循环结构与格式化输出的经典练习。本文直接从底层逻辑切入,通过双重嵌套循环的结构拆解、控制台对齐排版以及多种实现方式的对比,帮助你彻底掌握该实战的核心编写技巧。

一、核心算法原理:行列双重映射机制

九九乘法表本质上是一个标准的下三角数字矩阵。全表共有 9 行,第 1 行输出 1 个算式,第 2 行输出 2 个算式,依此类推,第 9 行输出 9 个算式。每一个算式的结构均为 列号 × 行号 = 乘积。

实现该矩阵的关键在于使用双重循环:外层循环控制当前的行号,内层循环控制当前行中每一列的算式生成。当外层行号为 i 时,内层列号 j 只需要从 1 递增至 i 即可停止,从而形成自然的下三角排列。

Python入门实战:九九乘法表代码实现
图 1:九九乘法表嵌套循环坐标映射与下三角截断原理

二、编写步骤与完整代码实现

编写九九乘法表通常遵循四个明确的步骤:确定外层区间、设计内层迭代、处理单行同行输出与对齐、最后执行换行。

Python入门实战:九九乘法表代码实现
图 2:九九乘法表标准实现步骤分解

1. 编写环境与运行方式

本文示例适用于 Python 3.6 及以上版本(支持 f-string 语法)。你可以直接在终端中启动 Python 解释器测试,或创建名为 multiplication_table.py 的文件并执行:

python3 multiplication_table.py

2. 核心代码示例(for 循环标准实现)

# 标准九九乘法表实现
for i in range(1, 10):
    for j in range(1, i + 1):
        # 格式化输出每一个算式,end='\t' 表示以制表符结尾,不自动换行
        print(f"{j}*{i}={i * j}", end="\t")
    # 当一整行的列全部打印完成后,输出一个空行用于换行
    print()

3. 控制台示例输出

执行上述代码后,终端将输出规整的下三角形乘法表:

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

三、实现方式对比:for 循环与 while 循环

在 Python 中,九九乘法表既可以用 for 循环实现,也可以使用 while 循环。两者在逻辑表达能力上等价,但在语法风格、状态维护和易错点上有明显不同。

Python入门实战:九九乘法表代码实现
图 3:for 循环与 while 循环实现机制对比

while 循环代码实现

为了深入理解变量状态的流转过程,可以对照下面的 while 循环代码:

# while 循环实现九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}*{i}={i * j}", end="\t")
        j += 1  # 内层计数器自增
    print()     # 单行输出完毕,换行
    i += 1      # 外层计数器自增
对比维度 for 循环实现 while 循环实现
计数器维护 由 range() 自动赋值和递增 必须手动在每层循环体末尾递增
内层变量重置 每轮迭代自动重新从 1 开始 必须在外层循环内显式执行 j = 1
死循环概率 极低(边界由 range 严格锁定) 若忘记计数器自增则会导致死循环
代码复杂度 结构短小、可读性高,推荐首选 变量声明多,略显冗长

四、控制台对齐进阶技巧

初学者在实现乘法表时常遇到排版参差不齐的问题。例如 2*3=6 的结果是一位数,而 2*5=10 的结果是两位数,如果仅使用空格分隔,后面的列容易发生错位。

1. 使用制表符 \t 自动定位

最简便的方式是在 print() 的 end 参数中传入制表符 end="\t"。制表符会自动将光标推到下一个制表位(通常为 4 或 8 个字符宽度),有效抵消一位数与两位数带来的宽度差。

2. 使用 f-string 宽度限定符精准定宽

如果输出终端的制表位宽度设置不一,还可以通过格式化字符串给每个算式指定固定显示宽度。例如让每个算式占满 8 个字符并左对齐:

# 使用 f-string 定宽对齐
for i in range(1, 10):
    for j in range(1, i + 1):
        # <8 表示左对齐且占 8 个字符位
        item = f"{j}*{i}={i * j}"
        print(f"{item:<8}", end="")
    print()
避坑提醒:print 函数两个关键参数

Python 的 print() 函数默认在末尾追加换行符 \n。设置 end="\t" 或 end="" 是实现“同一行输出多个算式”的前提;而在内层循环外部调用的 print() 必须保留默认换行行为,否则所有算式将被打印在同一行上。

五、核心要点梳理与复盘总结

九九乘法表虽短,却涵盖了 Python 流程控制的核心基础。理解并熟练编写该程序,意味着掌握了区间开闭原则、多维遍历思维与控制台流式排版技巧。

Python入门实战:九九乘法表代码实现
图 4:Python 九九乘法表核心技术知识图谱

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表