20 分钟
Python 入门

if-else 与 if-elif-else

掌握双分支和多分支条件判断

  • 掌握 else 分支
  • 掌握 elif 多条件判断
  • 处理多种实际场景

if-else:二选一

else 处理条件不满足的情况:

示例代码(可运行)

if-elif-else:多选一

elif 是 else if 的缩写,用来检查多个条件。从上到下挨个匹配,匹配中一个就不会再往下走了:

示例代码(可运行)
⚠️elif 顺序很重要!

条件从上往下检查,一旦匹配就跳出。所以严格的条件放前面:先判断 >=90,再判断 >=60。如果反过来先写 >=60,那 95 分也会匹配到 >=60 就停了。

预测输出
score = 95
if score >= 60:
    print("及格")
elif score >= 90:
    print("优秀")
else:
    print("不及格")

嵌套条件

示例代码(可运行)

嵌套可以用 and 简化:

示例代码(可运行)
🐍资深工程师经验谈

嵌套超过 3 层是代码质量的警报信号。资深开发者用「提前返回」(early return)来减少嵌套:先处理异常/边界情况并 return,主逻辑就不需要缩进。比如先 if not logged_in: return,再写正常逻辑,而不是把所有代码包在 if logged_in: 里。这叫「卫语句」模式,能让代码扁平、易读。记住:扁平优于嵌套。

找 Bugelif 顺序写错的话,85 >= 60 会先匹配上,输出「及格」而不是「良好」。
score = 85 if score >= 60: print("及格") elif score >= 80: print("良好")
填空题填写空白处的代码
score = 55 if score >= 90: print("A") score >= 60: print("B") _: print("C")
选择题

score=85 会输出什么? if >=90: A elif >=80: B elif >=60: C else: D

选择题

elif 的作用是?

选择题

score = 85,会进入哪个分支?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

Python 里整数、字符串甚至函数都是对象,堆在内存里;变量不是装东西的盒子,而是一张贴在对象上的「名字标签」(引用)。id(x) 看对象身份,is 比身份、== 比值。CPython 会缓存 -5~256 的小整数,所以 a=1;b=1 时 a is b 为 True,但 a=300;b=300 未必。结论:判断值是否相等永远用 ==,判断是不是 None 才用 is。

挑战任务

成绩等级

简单+50 XP

输入分数 85,输出对应等级(优秀/良好/及格/不及格)。

成绩等级
2 个测试用例

课后作业

BMI 计算器

中等+20 XP

身高1.75体重70,计算BMI并判断偏瘦/正常/偏胖/肥胖。

BMI 计算器
1 个测试用例