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

认识 while 循环

The Magic of Loops

🏃 一直跑
🛑 直到停

本节课关卡

扣哒世界 · 计算机科学4 · Python · 第1–6关

Python · 本节课关卡

01 · 尘埃

先读关卡目标,观察地图,再运用本课知识。

02 · 双颊

先读关卡目标,观察地图,再运用本课知识。

03 · 峡谷风暴

先读关卡目标,观察地图,再运用本课知识。

04 · 先有付出 才有回报

先读关卡目标,观察地图,再运用本课知识。

05 · 沙漠战役

先读关卡目标,观察地图,再运用本课知识。

06 · 诱饵和开关

先读关卡目标,观察地图,再运用本课知识。

学习路线:读目标 → 看图解 → 写代码 → 运行检查

🚪

什么是 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)
"忘了第四步,电脑会迷路!"
🎓

我的知识宝藏 · 一页复习

扣哒世界 · 计算机科学4 · Python · 第1–6关

Python · 知识点图
关键字方法 / 函数字符串数字

什么是 while 循环?

while 就像一个严格的门卫。

基本语法

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

关卡 1:数数

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

attacks += 1

关卡 2:属性做条件

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

关卡 3:只要还在

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

关卡 4:安全第一

用生命值作为停止条件。

关卡 5:死循环

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

关卡 6:打包循环

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

本节课关卡:1. 尘埃;2. 双颊;3. 峡谷风暴;4. 先有付出 才有回报;5. 沙漠战役;6. 诱饵和开关