单元二

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

任务场景:打怪循环——血量归零才结束
任务场景:打怪循环——血量归零才结束

一、任务目标

理解 while 在条件为真时重复,能用血量作为循环条件,打到归零后结束战斗。

二、我们要学什么

  • 学习要点:while循环|打怪到血量归零
  • 本课过关:能完成:说出不知道次数时用 while,条件为假才停;载入体验程序,指出每回合血量减少;改初始血量后,回合数跟着变。
  • 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。

三、本节要点

本课要认识条件循环。重难点是循环条件必须会被改成假,否则不会结束。要点对齐「while循环|打怪到血量归零」。

1读场景明确真实任务
2对要点while循环|打怪到血量归零
3载入运行图形化积木

四、解题思路

任务:重复攻击直到血量为 0。请分清:血量是状态,攻击是更新。

本课主要用到:屏幕输出。

  1. 1明确任务「打到血量归零」:结束后血量应不大于 0。
  2. 2用 while 判断血量,循环体内减少血量并打印。
  3. 3改初始血量后重跑,观察回合数是否跟随。

流程示意(可对照左侧文字)

任务:打到血量归零用 while 判断血量改初始血量后重跑

五、图形块讲解

本课用到的 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("胜利!")

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:当 hp > 0 时继续攻击;血量归零后循环停止。

  2. 判断:即使循环里不改 hp,while hp > 0 也会在打几次后自动停。

  3. 「当 hp > 0」的循环在何时停止?

  4. 打怪循环里,把 hp 减去伤害,属于?

  5. 事先不知道要打几回合、直到血量为 0 才停,更适合?

九、本节小结

本课主题是条件循环:while 在血量大于 0 时重复攻击,归零后结束。