第四章:循环游乐场
上一章程序学会了"做选择"。但你想过没有——如果让你在屏幕上打印 1 到 100 的所有数字,你会怎么写?复制粘贴 100 行 print()?不不不,我们有更好的办法:循环。
4.1 什么是循环?
循环就是让一段代码反复执行。就像旋转木马:转到指定的圈数才停下来。
Python 有两种循环:
for 循环:知道要重复多少次
while 循环:不知道次数,满足条件就一直继续
4.2 for 循环:按"清单"办事
for 循环会遍历一个序列中的每一个元素:
range() 是 for 循环的最佳拍档——它生成一串数字:
💡
range(start, stop)从 start 开始,到 stop-1 结束。range(1, 6)实际输出 1~5。
4.3 实用案例:for 循环大显身手
打印九九乘法表(的一部分)
计算 1+2+3+...+100 的总和
传说高斯小时候就是用了类似的方法震惊了老师——现在你用一行循环就做到了!
统计字符串中的字母
4.4 while 循环:不达目的不罢休
while 循环在条件为真时一直执行:
⚠️ 一定要确保条件最终会变成 False,否则程序会变成"永动机"——无限循环!如果你不小心写了
while True而忘记加break,刷新一下页面就好。
4.5 break 和 continue:循环控制器
有时候你需要在循环中途"紧急刹车"或"跳过当前回合":
4.6 猜数字游戏升级版
用 while 循环 + break,我们来把第三章的猜数字做成真正的互动游戏(这次用代码模拟):
💡
for...else是 Python 一个特殊的语法:如果 for 循环是正常结束(没被 break),就会执行 else 部分。
4.7 双重循环:循环里的循环
循环里面还能套循环——想象一个旋转木马上每个座位还有自己的旋转杯:
4.8 动手练习
练习 1:用 for 循环打印 1 到 50 中所有的偶数。
>
练习 2:写一个"石头剪刀布"的循环对战(模拟 10 局,每局随机出拳,统计胜负)。
>
练习 3:用双重循环打印一个对角的
*三角形(第一行 1 个,第二行 2 个……)。
4.9 本章小结
| 你学到了什么 | 具体内容 |
|---|---|
| ✅ for 循环 | 遍历序列/range,知道次数用 for |
| ✅ while 循环 | 条件为真就继续,不知道次数用 while |
| ✅ range() | `range(n)` 生成 0~n-1,`range(a,b)` 生成 a~b-1 |
| ✅ break | 立即终止循环 |
| ✅ continue | 跳过当前回合,继续下一次 |
| ✅ 嵌套循环 | 循环里面套循环 |
| ✅ for...else | 正常结束(非break)时执行 else |
🚀 下一章预告:单个变量只能存一个值,如果你想存全班同学的名字怎么办?下一章,我们学习列表——Python 最强大的数据收纳工具!
本章内容基于 [Python 官方教程](https://docs.python.org/3/tutorial/) 改编,遵循 PSF License 许可。