计算机科学 3 第 1-6 关
THE BOOK OF LOOPS
🌀

认识 while 循环

The Magic of Loops

🏃 一直跑
🛑 直到停
🚪

什么是 while 循环?

while 就像一个严格的门卫。

每次你想进游乐场玩(执行代码),门卫都会问:
"你还符合条件吗?"

  • True (符合):进去玩一圈,回来再检查。
  • False (不符合):不让进了,循环结束。
👮‍♂️ 门卫 (Condition)
⬇️ True
🎢 游乐场 (Do Something)
(玩完一圈回到门卫处)
📝

基本语法 (Syntax)

while 条件:
  # 只要条件是 True
  # 就一直做这里的事情
  做动作()
"当(while)这件事没做完,就一直做。"

注意:不要忘了冒号 : 和缩进!

Condition
Checking...
🔢

关卡 1:数数 (Counting)

我们用一个变量来数数:打了几下?

attacks = 0
while attacks < 10:
  attack()
  attacks += 1

attacks += 1:这步最关键!
每打一次,就在本子上画一笔。不画的话,永远数不到10!

记事本
💰

关卡 2:属性做条件

除了自己定义的变量,也可以用英雄的属性

while hero.gold < 30:
  # 钱不够30就一直捡
  collectCoin()
"就像妈妈说:零花钱不到30块,就多做家务!"
👛
Gold < 30 ?
🪙 🏃
🐂

关卡 3:只要还在 (Object)

判断东西是否存在,也是 True/False。

yak = findEnemy()
while yak:
  collect()
  # 重要:更新 yak!
  yak = findEnemy()

注意:必须在循环里更新 yak!

如果不更新,电脑以为 yak 还在,就会陷入死循环。

👀 看着牦牛
⬇️
捡金币
⬇️
再看一眼牦牛还在吗?
❤️

关卡 4:安全第一

用生命值作为停止条件。

while hero.health > 200:
  run() # 健康就跑步

goHome() # 累了(血少)就回家
"当心率小于150时继续跑,太累了就停下来。"
Current > 200 ?
⚠️

关卡 5:死循环 (Infinite Loop)

如果条件永远是 True,循环就永远不会停!

count = 0
while count < 5:
  say("Hello")
  # 😱 忘了 count += 1

电脑会一直喊 Hello 到宇宙毁灭...

千万别忘了改变条件变量!

😵‍💫
永远停不下来!
📦

关卡 6:打包循环

把复杂的 while 循环装进函数里,变成一个强力技能!

def collectUntil(goldAmount):
  while hero.gold < goldAmount:
    collect()

collectUntil(50) # 一句话搞定!

这就叫抽象 (Abstraction):把复杂过程藏起来,留一个简单按钮。

🎛️
一键收集
📝

循环四步口诀

  1. 🎯 定目标 (我要数到10)
  2. 👮 设条件 (while count < 10)
  3. 🔨 做事情 (hero.attack)
  4. 🔄 变数据 (count += 1)
"忘了第四步,电脑会迷路!"
🎓