blog.dopana

Back

欢迎回来! 🚀 今天,我们要学习如何让我们的 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("没体力了!机器人要休息了。 💤")
python
graph TD
    A[体力 = 3] --> B{体力 > 0?}
    B -- 是 --> C["打印 '机器人迈出一步!'"]
    C --> D[体力 = 体力 - 1]
    D --> B
    B -- 否 --> E["打印 '没体力了!'"]

小机器人会检查 energy > 0(体力是否大于0)是否为真。因为一开始体力是 3,它就会跑一步,把体力减到 2,然后继续循环。直到体力变成 0 时,检查结果就变成了假,机器人就会退出循环!

动手试一试! 🎮#

打开你的 Python 编辑器,尝试完成下面这些挑战:

  1. 数到 10:使用 for 循环和 print(i) 让机器人从 0 开始数数。(你能想办法让它打印 110 吗? 提示:打印 i + 1!)
  2. 火山逃生记:设置一个变量 volcano_distance = 5(离火山的距离)。使用 while 循环打印 "正在逃跑! 🌋",并让距离每循环一次减少 1,直到距离变成 0 为止。

下一次,我们将学习如何把我们的代码打包进一个整洁的自定义“按钮”里,这个按钮就叫 函数(Functions),方便我们随时重用。下节课见!

参考资料#