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。