单元二
第6课 while循环——打怪到血量归零

一、任务目标
打怪——重复攻击直到生命 ≤ 0。
二、条件为真就继续
while hp > 0: 表示:只要怪物还有血,就继续让玩家输入伤害并更新 hp。当条件变为假,循环自然结束。
和 while True + break 相比,这种写法把「结束条件」写在开头,读起来更像规则说明书。
三、解题思路
任务:打怪——重复攻击直到生命 ≤ 0。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。
本课主要用到:屏幕输出。
- 1明确任务「打怪——重复攻击直到生命 ≤ 0。」:运行后你希望看到什么结果(文字、图形或计算结果)。
- 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
- 3写出判断条件:什么情况下走 A,什么情况下走 B。
- 4用 while 保持程序持续运行或等待条件变化。
- 5对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。
流程示意(可对照左侧文字)
四、图形块功能讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
五、知识点讲解
循环让某段步骤按次数或条件重复执行,避免手工复制很多遍。要想清两件事:重复什么?什么时候停?没有停止条件就会「转不停」。
先弄清本课输入与输出,再进编程练习对照现象。
六、编程练习
用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码判题。
先阅读并运行 while 打怪循环。
参考代码(对照抄写到下方 Mixly)
hp = 30
print("打怪开始!生命", hp)
while hp > 0:
dmg = 8
hp = hp - dmg
if hp < 0:
hp = 0
print("造成", dmg, "伤害,剩余", hp)
print("胜利!")
正在载入编程环境
正在载入 Mixly 图形化编程环境…
七、课堂练习
选出你认为正确的一项,再点「检查」。
「条件循环」(当 hp > 0)在何时停止?
打怪循环里,扣血属于?
若忘记在循环里改 hp,可能发生?
八、本节小结
while 按条件重复「输入→更新→输出」。