第 4 周,共 8 周
条件判断
程序开始做选择。学生用 if、elif 和 else,让程序根据玩家的答案做不同的事。他们会做一个简短的问答游戏,检查答案并对每一种作出回应——这正是任何有输赢的游戏的核心。
- 预计时间
- 55-60 分钟
- 项目
- 知识问答或性格测试
核心思路
条件判断让程序能够选择。Python 检查一个条件——一个非真即假的东西——只有在条件为真时,才执行它下面缩进的行。有了 if、elif 和 else,程序可以对正确答案给一种反应,对接近的答案给另一种,对错误答案再给一种。游戏就是这样判断你得分、获胜还是失败的。
你将学到什么
- 写一个只有条件为真时才执行的 if 语句。
- 加上 elif 和 else 来处理其他答案。
- 用 == 把玩家的答案和预期值作比较。
- 修好 = 和 == 这个常见的混淆。
新词汇
- 条件
- 一个答案非真即假的问题,比如 answer == "Earth"。
- if
- 只有条件为真时,才执行它下面缩进的那些行。
- elif
- 当上面的条件都为假时,再检查另一个条件。
- else
- 当上面所有条件都不为真时执行。
- ==
- 检查两个值是否相等(不同于 =,那是赋值)。
项目:知识问答或性格测试
编辑下面的初始代码,然后按“运行”看看效果。想回到原始代码,随时点“重置初始代码”。
main.py
终端
运行你的程序来查看输出。
预期输出
我们住在哪个星球上? 地球
答对了!得 1 分。小挑战
再加第二个问题,配上它自己的 if / else,让你的问答有连着的两道题。
调试挑战
Python 在 if 那一行报错。一个等号是把值存进变量。想检查两样东西是否相同,该用什么?
有错误的代码
answer = input("我们住在哪个星球上? ")
if answer = "地球":
print("答对了!")查看答案隐藏答案
比较两个值需要两个等号:
if answer == "地球":拓展挑战
把它改成性格测试:提一个「你更愿意选哪个」的问题,用 if、elif 和 else 为每个选项打印不同的结果。
回顾思考
你的程序现在会对不同答案做出不同反应。在你的结课游戏里,程序需要做出的一个判断是什么?每种选择又该发生什么?
教师笔记
两个重点:缩进(if 下面的行必须缩进)和 = 与 ==(赋值与比较)。字符串比较是完全精确的,elif 那一行正是为了凸显这一点。让学生自己撞上 = / == 的错误——报错信息会直接指出来。
要带这节课吗?请查看 教师与图书馆员指南 ,里面有上课流程、常见错误,以及一个不用电脑的备用活动。
这节课完成了吗?标记为已完成,解锁下一周。