Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

PyFirst

第四章:循环游乐场

上一章程序学会了"做选择"。但你想过没有——如果让你在屏幕上打印 1 到 100 的所有数字,你会怎么写?复制粘贴 100 行 print()?不不不,我们有更好的办法:循环


4.1 什么是循环?

循环就是让一段代码反复执行。就像旋转木马:转到指定的圈数才停下来。

Python 有两种循环:


4.2 for 循环:按"清单"办事

for 循环会遍历一个序列中的每一个元素:

Python
Loading editor...

range() 是 for 循环的最佳拍档——它生成一串数字:

Python
Loading editor...

💡 range(start, stop) 从 start 开始,到 stop-1 结束。range(1, 6) 实际输出 1~5。


4.3 实用案例:for 循环大显身手

打印九九乘法表(的一部分)

Python
Loading editor...

计算 1+2+3+...+100 的总和

Python
Loading editor...

传说高斯小时候就是用了类似的方法震惊了老师——现在你用一行循环就做到了!

统计字符串中的字母

Python
Loading editor...

4.4 while 循环:不达目的不罢休

while 循环在条件为真时一直执行

Python
Loading editor...

⚠️ 一定要确保条件最终会变成 False,否则程序会变成"永动机"——无限循环!如果你不小心写了 while True 而忘记加 break,刷新一下页面就好。


4.5 break 和 continue:循环控制器

有时候你需要在循环中途"紧急刹车"或"跳过当前回合":

Python
Loading editor...

4.6 猜数字游戏升级版

while 循环 + break,我们来把第三章的猜数字做成真正的互动游戏(这次用代码模拟):

Python
Loading editor...

💡 for...else 是 Python 一个特殊的语法:如果 for 循环是正常结束(没被 break),就会执行 else 部分。


4.7 双重循环:循环里的循环

循环里面还能套循环——想象一个旋转木马上每个座位还有自己的旋转杯:

Python
Loading editor...

4.8 动手练习

练习 1:用 for 循环打印 1 到 50 中所有的偶数。

>

练习 2:写一个"石头剪刀布"的循环对战(模拟 10 局,每局随机出拳,统计胜负)。

>

练习 3:用双重循环打印一个对角的 * 三角形(第一行 1 个,第二行 2 个……)。

Python
Loading editor...

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 许可。