第 14 课 · 阶段二 · 基础语法
条件判断 if / elif / else
让程序“会思考”就从 if 开始。这一课掌握 if / elif / else 条件判断、嵌套与三元表达式,写出带逻辑的程序。
🎯 学完本课你将掌握
- 写出完整的 if / elif / else 结构
- 理解 elif 与多个 if 的区别
- 会使用嵌套判断与三元表达式
一、if 基础结构
if 后面跟一个条件表达式,条件为 True 就执行缩进块里的代码。条件后记得加冒号。
if 基础.py
1age = 182if age >= 18:3 print("你已经成年了")4 print("可以去考驾照啦")5print("这句话无论条件如何都会执行")二、if ... else ... 双分支
双分支.py
1score = 592if score >= 60:3 print("及格了!")4else:5 print("不及格,继续加油")三、if ... elif ... else ... 多分支
多分支.py
1score = 852if score >= 90:3 grade = "优秀"4elif score >= 80:5 grade = "良好"6elif score >= 60:7 grade = "及格"8else:9 grade = "不及格"10print(f"你的等级是:{grade}")✅ 要点
elif 之间互斥,只执行第一个满足的分支。注意条件顺序:从高到低(90、80、60),顺序写错结果就错。
四、if 和 elif 的区别
对比.py
1# 用 if ... elif:只走一个分支2n = 153if n > 10:4 print("大于10")5elif n > 5:6 print("大于5")7# 输出:大于1089# 用两个 if:可能都走10n = 1511if n > 10:12 print("大于10")13if n > 5:14 print("大于5")15# 输出:大于10、大于5五、嵌套判断与逻辑组合
嵌套.py
1age = 202is_member = True3if age >= 18:4 if is_member:5 print("成年会员,享8折")6 else:7 print("成年非会员,原价")8else:9 print("未成年,暂不接待")1011# 用 and 简化上面的嵌套12if age >= 18 and is_member:13 print("成年会员,享8折")六、三元表达式(一行 if else)
三元表达式.py
1age = 202result = "成年人" if age >= 18 else "未成年人"3print(result) # 成年人七、常见错误与解决
常见错误与解决
| 错误现象 | 原因 / 解决方法 |
|---|---|
IndentationError: expected an indented block | if 冒号后忘记缩进,下一行必须缩进 4 空格。 |
SyntaxError: invalid syntax | if 条件后忘了写冒号 :,或条件写成了赋值 =。 |
结果不符合预期 | 检查条件顺序与边界:>= 还是 >,elif 顺序是否从高到低。 |
✍️ 小练习
输入一个 0-100 的分数,输出等级(90+优秀、80+良好、60+及格、否则不及格),再用三元表达式判断一个数是奇数还是偶数。
📌 本节小结
if/elif/else 让程序按条件分流:elif 互斥、顺序重要、可嵌套、可组合 and/or、一行版用三元表达式。配合 input 与类型转换,你已经能写出有“判断力”的程序了。