if-elif-else
18.3 if-elif-else
多分支判断,从上到下匹配。
elif 是 else if 的缩写,用于多个互斥的分支。
Python 从上到下依次判断,一旦某个条件成立,后面 elif/else 不再执行。
💡 遇到报错先看最后一行英文提示,再对照「常见错误与正确对比」。
成绩等级
以下代码含详细中文注释,可直接复制运行。建议对照输出理解每一行的作用。
# ========================================
# 示例:成绩等级
# 说明:建议复制到 .py 文件运行,或粘贴到 Python 交互模式
# ========================================
score = 85 # 赋值:把右边的值存入变量
if score >= 90: # 条件为 True 时执行下方缩进代码
print('优秀')
elif score >= 80: # 上一个条件不成立时,再判断此条件
print('良好')
elif score >= 60: # 上一个条件不成立时,再判断此条件
print('及格')
else: # 以上条件都不成立时执行
print('不及格')
成绩等级评定
多分支示例:优秀、良好、及格、不及格。
# ========================================
# 示例:成绩等级评定
# 说明:建议复制到 .py 文件运行,或粘贴到 Python 交互模式
# ========================================
score = 85 # 赋值:把右边的值存入变量
if score >= 90: # 条件为 True 时执行下方缩进代码
grade = '优秀'
elif score >= 80: # 上一个条件不成立时,再判断此条件
grade = '良好'
elif score >= 60: # 上一个条件不成立时,再判断此条件
grade = '及格'
else: # 以上条件都不成立时执行
grade = '不及格'
print(f'分数 {score},等级:{grade}') # 输出到屏幕 / 从键盘读入
⚠️ 常见错误与正确对比
❌ 错误写法
if score >= 90:
print('A')
if score >= 80:
print('B')✅ 正确写法
if score >= 90:
print('A')
elif score >= 80:
print('B')📌 多个互斥等级应使用 elif,否则 95 分会同时打印 A 和 B。