这套课程按知识依赖排列。本篇的前置知识是:第 09、10 篇。学完后,你应该能够根据互斥条件选择一条执行路径。
本篇要解决的问题
本篇只处理“if 条件判断与多分支选择”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。
先看清一个容易误解的细节
if、elif、else 从上到下判断,一旦某个条件成立,就执行对应分支并跳过后面的同级分支。
核心概念
- 冒号表示接下来开始一个代码块。
- 同一代码块必须保持一致缩进,通常使用四个空格。
- 多分支条件要从更严格的范围向更宽的范围排列。
跟着示例运行
把下面代码保存到本课脚本并运行:
score = int(input("请输入分数:"))
if score >= 90:
level = "优秀"
elif score >= 60:
level = "合格"
else:
level = "需要继续学习"
print(level)
预期结果:
输入 85 时输出:合格
输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。
按执行顺序拆开看
- 输入先转换为整数,程序从
score >= 90开始判断。输入 85 时第一项为假,继续检查下一项。 score >= 60为真后执行“合格”分支,同级的else被跳过;最终三个分支只会选择一个。
再看一个具体细节
多分支判断的顺序会改变结果,尤其是范围互相包含时。
score >= 90 必须放在 score >= 60 前面。更宽的条件如果先成立,后面更严格的分支就没有机会执行。
再看一个具体细节
分支属于哪个条件由缩进决定,不由代码在视觉上的远近决定。
同一缩进层级属于同一个代码块;回到 if 之前的缩进后,语句就位于整条分支结构之外。
初学者容易混淆的地方
- 先写
score >= 60,导致 95 也在这一项提前匹配,永远到不了“优秀”。 - 混用多个独立
if表达互斥等级,可能同时执行多个代码块;互斥选择使用同一条if/elif/else链。
练习
- 根据温度输出“冷、适中、热”三个等级。
- 交换示例中两个条件的顺序,解释为什么结果可能错误。
练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。
本篇边界
本篇目标是根据互斥条件选择一条执行路径。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。
相关文章
01|Python 程序从源码到输出经历了什么
面向按顺序学习 Python 的初学者,本篇在零基础上,帮助读者理解源代码、解释器和输出之间的关系。
02|在 macOS 安装并确认 Python 3 环境
面向按顺序学习 Python 的初学者,本篇在第 01 篇知识上,帮助读者在 macOS 中确认 Python 3.14 和 pip 是否可用。
03|交互式解释器和 Python 脚本怎么选择
面向按顺序学习 Python 的初学者,本篇在第 02 篇知识上,帮助读者根据任务选择 REPL 或 `.py` 脚本。
04|建立第一个 Python 项目目录
面向按顺序学习 Python 的初学者,本篇在第 03 篇知识上,帮助读者理解当前目录并正确运行项目脚本。

