【每天一个 Python 小案例05】Python 实现九九乘法表
希望通过持续记录,把每天学习的 Python 知识逐渐积累起来,通过一个个小案例打好编程基础。
系列:《每天一个 Python 小案例》
第 5 篇: Python 实现九九乘法表
关键词: Python、Python入门、for循环、循环嵌套、九九乘法表、编程练习
一、前言
在前几篇 Python 小案例中,我们学习了条件判断和基础循环:
- 第 2 篇:Python 实现奇偶数判断
- 第 3 篇:Python 实现成绩等级判断
- 第 4 篇:Python 实现 1 到 100 求和
通过这些案例,我们已经学习了:
if 条件判断
for 循环
range()函数
变量累加
但是,在实际编程过程中,经常会遇到需要一个循环里面执行另一个循环的情况。
例如:
- 输出九九乘法表
- 打印图形
- 遍历二维数据
- 处理表格数据
这类问题通常需要使用:
循环嵌套
本篇将通过实现九九乘法表,学习 Python 中 for 循环嵌套的基本使用方法。
二、案例需求
编写一个 Python 程序,输出完整的九九乘法表。
最终效果:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
…
9×9=81
程序需要完成:
三、完整代码
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}×{i}={i*j}", end=" ")
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×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
四、代码讲解
1. 外层循环控制行数
代码:
for i in range(1, 10):
这里的 i 表示九九乘法表中的行。
range(1, 10) 表示:
1,2,3,4,5,6,7,8,9
也就是九九乘法表中的 9 行。
例如:
当:
i = 1
表示第一行:
1×1=1
当:
i = 5
表示第五行:
1×5=5
2×5=10
3×5=15
4×5=20
5×5=25
2. 内层循环控制每行计算次数
代码:
for j in range(1, i + 1):
这里使用了第二个循环。
变量 j 表示每一行中的第几个乘数。
例如:
当:
i = 3
表示第三行。
此时:
range(1, i+1)
就是:
range(1,4)
生成:
1、2、3
因此输出:
1×3=3
2×3=6
3×3=9
五、什么是循环嵌套?
循环嵌套就是:
一个循环里面包含另一个循环。
结构如下:
for 外层变量 in 范围:
for 内层变量 in 范围:
执行代码
执行过程:
第一次外层循环
执行完整的内层循环
第二次外层循环
再执行一次完整的内层循环
直到外层循环结束
例如:
for i in range(1,4):
for j in range(1,4):
print(i,j)
执行过程:
i=1
j=1
j=2
j=3
i=2
j=1
j=2
j=3
i=3
j=1
j=2
j=3
这就是循环嵌套的执行方式。
六、print()中的 end 参数
代码:
print(f"{j}×{i}={i*j}", end=" ")
这里使用了:
end
参数。
默认情况下:
print()
每输出一次都会自动换行。
例如:
print("A")
print("B")
结果:
A
B
但是九九乘法表需要让同一行的内容保持在一起。
所以使用:
end=" "
表示:
输出后不要换行,而是在后面添加一个空格。
例如:
print("A", end=" ")
print("B")
输出:
A B
七、为什么最后需要一个 print()?
代码:
print()
作用:
换行。
例如:
第一行输出:
1×1=1
完成后:
print()
让程序进入下一行。
如果删除:
print()
所有结果会显示在同一行:
1×1=11×2=22×2=4…
因此,这一句负责控制九九乘法表的格式。
八、另一种实现方式
除了使用两个 for 循环,也可以使用 while 循环:
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}×{i}={i*j}", end=" ")
j += 1
print()
i += 1
这种方式可以帮助理解循环本质:
初始化变量
判断条件
执行代码
修改变量
不过,对于九九乘法表来说,for 循环更加简洁。
九、常见错误总结
1. range()范围错误
错误:
range(1,9)
这样只能循环:
1~8
无法输出第九行。
正确:
range(1,10)
2. 内层循环范围错误
错误:
for j in range(1,10):
这样每一行都会输出 9 个公式:
例如:
1×1
2×1
3×1
…
9×1
不符合九九乘法表规则。
正确:
for j in range(1,i+1):
让每一行输出对应数量。
3. 忘记缩进
错误:
for i in range(1,10):
for j in range(1,i+1):
Python 会报错。
正确:
for i in range(1,10):
for j in range(1,i+1):
Python 中缩进代表代码层级。
4. 忘记使用 end 参数
如果:
print(f"{j}×{i}={i*j}")
程序会每次输出后换行。
九九乘法表会变成:
1×1=1
1×2=2
2×2=4
1×3=3
…
因此需要:
end=" "
控制输出格式。
十、拓展练习
完成九九乘法表后,可以尝试以下练习:
练习一:倒序输出九九乘法表
例如:
9×9=81
8×9=72
…
需要调整循环方向。
练习二:打印直角三角形
输出:
*
**
***
****
*****
可以使用:
for
循环嵌套实现。
练习三:打印数字三角形
例如:
1
12
123
1234
12345
进一步练习循环控制。
十一、总结
通过本案例,我们学习了 Python 中非常重要的:
循环嵌套
知识。
九九乘法表虽然看起来简单,但是其中包含:
- for 循环。
- range() 函数。
- 嵌套循环。
- print() 输出控制。
- end 参数使用。
这些知识在后续学习中非常常见,例如:
- 数据遍历。
- 图形打印。
- 矩阵计算。
- 数据分析。
通过每天完成一个 Python 小案例,可以不断积累编程经验,将基础语法逐渐应用到实际程序中。
下一篇预告
【每天一个 Python 小案例06】Python 实现猜数字小游戏
下一篇将继续学习 Python 中的:
while循环
随机数生成
用户交互
条件判断
通过制作一个简单的猜数字小游戏,让程序拥有更多交互能力。
通过持续练习,把 Python 基础知识逐渐连接起来,为后续学习人工智能技术应用打下编程基础。
网硕互联帮助中心



评论前必须登录!
注册