当前位置:首页 > Python > 正文

Python输出九九乘法表教程 - 多种方法详解 | Python编程学习

Python输出九九乘法表的多种方法详解

为什么学习九九乘法表编程?

九九乘法表是编程入门经典练习,它有助于理解:

  • 循环结构的嵌套使用
  • 字符串格式化输出技巧
  • 算法逻辑思维训练
  • 代码优化与重构方法

本教程将介绍5种Python实现方式,从基础到高级逐步深入。

1 方法一:基础for循环实现

这是最直观的方法,使用两层for循环嵌套实现:

Python代码

for i in range(1, 10):
    for j in range(1, i + 1):
        # 使用f-string格式化输出
        print(f"{j}×{i}={i*j}", end="\t")
    print()  # 换行

输出结果

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×9=9 2×9=18 3×9=27 ... 9×9=81

要点说明: 外层循环控制行数(1-9),内层循环控制每行的列数(1到当前行数),使用end="\t"保持对齐,每行结束后用print()换行。

2 方法二:while循环实现

使用while循环同样可以实现:

Python代码

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}×{i}={i*j}", end="\t")
        j += 1
    print()
    i += 1

方法特点

  • 需要手动管理循环变量
  • 更清晰地展示循环控制流程
  • 适用于不确定循环次数的情况
  • 输出结果与for循环相同

3 方法三:列表推导式(单行实现)

Pythonic的简洁实现方式:

Python代码

# 使用嵌套列表推导式
print('\n'.join(['\t'.join([f"{j}×{i}={i*j}" 
      for j in range(1, i+1)]) 
      for i in range(1, 10)]))

代码解析

  1. 内层推导式生成每行的乘法表达式
  2. '\t'.join() 将每行表达式连接成字符串
  3. 外层推导式生成所有行的字符串
  4. '\n'.join() 将所有行连接并打印

优势: 代码简洁,充分利用Python特性
注意: 可读性稍差,适合熟悉Python的开发者

4 方法四:函数封装实现

将功能封装为函数,提高代码复用性:

def print_multiplication_table(n=9):
    """打印n*n乘法表"""
    for i in range(1, n+1):
        for j in range(1, i+1):
            # 使用字符串格式化保证对齐
            print(f"{j}×{i}={i*j:2d}", end="\t")
        print()

# 调用函数
print_multiplication_table()  # 默认9×9
print_multiplication_table(5) # 打印5×5乘法表

函数优势

  • 可复用代码
  • 参数化控制大小
  • 添加文档字符串说明
  • 便于维护和扩展

输出效果增强

使用{i*j:2d}格式保证两位数对齐:

1×1= 1
1×2= 2 2×2= 4

5 方法五:倒序输出乘法表

调整循环顺序实现倒序输出:

Python代码

for i in range(9, 0, -1):  # 从9到1递减
    for j in range(1, i+1):
        print(f"{j}×{i}={i*j}", end="\t")
    print()

输出结果

1×9=9 2×9=18 ... 9×9=81
1×8=8 2×8=16 ... 8×8=64
...
1×2=2 2×2=4
1×1=1

方法总结与对比

方法 特点 适用场景 难度
基础for循环 直观易懂,适合初学者 教学、基础练习 ★☆☆☆☆
while循环 明确展示循环控制流程 理解循环机制 ★★☆☆☆
列表推导式 代码简洁,Python风格 代码高尔夫、简洁实现 ★★★☆☆
函数封装 可复用、参数化控制 实际项目、代码复用 ★★☆☆☆
倒序输出 展示不同循环控制方式 理解循环控制、反向输出 ★★☆☆☆

学习建议

建议初学者从基础for循环开始,逐步尝试其他方法。掌握后可以:

  • 尝试添加对齐优化输出格式
  • 修改代码输出其他形式的乘法表(如矩形格式)
  • 将乘法表输出到文本文件
  • 使用GUI库显示乘法表(如Tkinter)

发表评论