TheZTHEZ / UNDERSTANDING FIRST
Python 入门入门18 分钟阅读

条件判断:让程序做选择

使用 if、elif、else 表达互斥分支,正确处理边界与缩进。

在浏览器中练习 →进度只保存在本机。

学习目标

  • 按条件执行代码。
  • 理解 elif 的先后顺序。
  • 检查等于阈值时走哪个分支。

概念解释

条件判断根据布尔结果选择执行路径。if 后写条件与冒号;属于它的语句缩进,建议统一四个空格。条件为真时执行该块,否则继续检查 elif;没有条件满足才进入 else。elif 可以有多段,else 最多一段且不再写条件。

同一串 if/elif/else 中,只有第一个满足的分支会执行。先检查 score >= 60,再写 elif score >= 90,90 分也会被第一段接住,后面的优秀分支无法到达。所以互斥等级常按更严格的条件先写。

缩进是语法,不是装饰。块结束后回到外层缩进。比较条件中的边界必须根据需求决定:>= 60 包含 60,> 60 不包含 60。先列出边界测试值,再写代码,能减少看起来合理却漏掉边界的情况。

完整代码示例

将下面代码完整复制到运行器,先运行原例,再一次只修改一个地方。

score = 72
if score >= 90:
    print("优秀")
elif score >= 60:
    print("达到基础目标")
else:
    print("继续练习")
print("评价完成")

逐行代码讲解

  1. 第 1 行指定本次要评价的分数。
  2. 第 2 行检查是否至少 90 分。冒号开启代码块。
  3. 第 3 行只在第 2 行为真时打印;本次不会执行。
  4. 第 4 行在前一个条件为假时检查至少 60 分。
  5. 第 5 行本次会执行,因为 72 满足这一条件。
  6. 第 6 行表示所有前面条件都不满足时的后备分支。
  7. 第 7 行本次不执行。
  8. 第 8 行已回到外层缩进,无论选择哪一分支都会执行。

实际运行结果

以下输出已在 Python 3 中执行核对。代码和输出分别放在不同区域;不要把输出当作代码。

达到基础目标
评价完成

常见错误

  • 漏冒号会产生 SyntaxError;混用空格和制表符可能产生缩进错误。
  • 把多个互斥等级写成多个独立 if,可能重复输出;应根据需求选择链式分支。
  • 把条件中的 == 写成 =,通常会报语法错误。

实践练习

把分数分别改为 90、60、59,预测并核对输出。然后编写学习时长建议:至少 60 分钟为“完整练习”,至少 20 为“短时练习”,否则为“先复习一个概念”。

先独立作答再查看参考。能运行还不够,请解释结果为什么正确。

参考答案

minutes = 20
if minutes >= 60:
    advice = "完整练习"
elif minutes >= 20:
    advice = "短时练习"
else:
    advice = "先复习一个概念"
print(advice)
assert advice == "短时练习"

边界 20 应属于短时练习。原例的 90、60、59 分别对应优秀、达到基础目标、继续练习,随后都输出评价完成。

换个角度理解

像按分数选择一个通道:先看是否达到 90,再看是否达到 60,否则去补练区。进入一个通道后,不再逐一走后面的通道。两个独立 if 则像两个独立检查点。

STEP 01计算条件真值
STEP 02只进入命中的分支
STEP 03分支后继续

把不同情况的处理规则写清楚。顺序会改变结果:分数区间通常应从严格条件开始,否则宽条件会提前接住输入。

动手观察:一步一步执行

这是当前知识点的独立教学示例,不是本课所有 Python 语法的模拟。修改参数、预测结果,再按下一步验证。完整语言练习使用可信代码运行器。

EXECUTION / 可操作的程序状态

把每一步,看明白

本地受限解释器
参数改变所选示例的数值;执行从头开始。

变量与作用域

输出

每步显示该语句求值后的快照;第 0 步尚未执行。条件行显示判断结果,函数调用单独显示进入与返回。自动播放可随时暂停,默认不会启动。

CHECK YOUR UNDERSTANDING

自己判断,才知道哪里没懂

先选答案再核对。答错会提供原因和补学方向,不影响课程完成进度。

基础 score = 60;条件 score >= 60 是?

应用 if / elif / else 一次最多进入几个分支?

迁移 非空字符串 "False" 的真值是?

尚未提交练习。知识掌握度和学习进度分别记录。

把你卡住的代码或错误交给理解引擎 →

这一节,你理解到哪里了?

这是你的自我反馈,与练习估计、课程进度分别记录。

本文为TheZ原创教学内容。正文采用 CC BY-NC-SA 4.0,代码采用 MIT 许可。请尊重署名与授权范围。