跳到主要内容

第 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 那一行正是为了凸显这一点。让学生自己撞上 = / == 的错误——报错信息会直接指出来。

要带这节课吗?请查看 教师与图书馆员指南 ,里面有上课流程、常见错误,以及一个不用电脑的备用活动。

这节课完成了吗?标记为已完成,解锁下一周。