循环往复:重复执行动作
使用 for 和 while 循环以及 range 函数,教导你的 Python 机器人轻松搞定重复任务,并学习如何避免无限循环。
欢迎回来! 🚀 今天,我们要学习如何让我们的 Python 机器人不知疲倦、毫无怨言地帮我们做那些无聊的重复工作。
想象一下,老师让你在黑板上把 “我保证不在课堂上吃饼干” 抄写 100 遍。你的手一定会酸得不得了!但是对于我们的 Python 机器人来说,抄写 100 遍只需要不到一毫秒的时间。
为了实现这个,我们需要使用 循环(Loops)!
什么是循环?(过山车的环形轨道)#
循环就像是一个圆形的过山车轨道。过山车会在圆圈轨道上不停地转圈,直到满足某个条件告诉它该停下来为止。
graph TD
Start([开始循环]) --> Check{计数器 < 5?}
Check -- 是 --> Action["打印 'Loop-de-loop!' 🎡"]
Action --> Add["计数器加 1"]
Add --> Check
Check -- 否 --> End([退出循环])
如果我们不告诉循环什么时候该停下来,它就会永远转下去。这被称为 无限循环(infinite loop),它会让小机器人死机或者失去控制!
1. 知道次数的循环 (for 循环)#
如果你非常清楚地知道自己想让小机器人重复某件事多少次,你就可以使用 for 循环。
我们来让机器人把一条消息打印 5 遍:
for i in range(5):
print("Loop-de-loop! 🎡")python它是如何工作的:#
range(5)就像是包含 5 个数字的列表:0, 1, 2, 3, 4。i是一个临时的盒子,用来装当前循环到的那个数字。- 每次循环运行的时候,
i就会装入下一个数字,然后打印文字,最后回到开头。 - 千万别忘了提问行末尾的冒号
:以及循环内部代码行前方的 4 个空格的缩进 哦!
2. 满足条件就一直进行的循环 (while 循环)#
如果你不知道具体需要重复多少次,但是想让它直到某个条件改变前一直重复,该怎么办呢?这时你可以使用 while 循环。
例如,想象我们的小机器人在跑步,每跑一步就会消耗 1 点体力:
energy = 3
while energy > 0:
print("机器人迈出一步! 🏃")
energy = energy - 1 # 消耗 1 点体力
print("没体力了!机器人要休息了。 💤")pythongraph TD
A[体力 = 3] --> B{体力 > 0?}
B -- 是 --> C["打印 '机器人迈出一步!'"]
C --> D[体力 = 体力 - 1]
D --> B
B -- 否 --> E["打印 '没体力了!'"]
小机器人会检查 energy > 0(体力是否大于0)是否为真。因为一开始体力是 3,它就会跑一步,把体力减到 2,然后继续循环。直到体力变成 0 时,检查结果就变成了假,机器人就会退出循环!
动手试一试! 🎮#
打开你的 Python 编辑器,尝试完成下面这些挑战:
- 数到 10:使用
for循环和print(i)让机器人从 0 开始数数。(你能想办法让它打印1到10吗? 提示:打印i + 1!) - 火山逃生记:设置一个变量
volcano_distance = 5(离火山的距离)。使用while循环打印"正在逃跑! 🌋",并让距离每循环一次减少1,直到距离变成0为止。
下一次,我们将学习如何把我们的代码打包进一个整洁的自定义“按钮”里,这个按钮就叫 函数(Functions),方便我们随时重用。下节课见!