21
条件语句
条件语句(Conditionals):让程序开始“做选择”
你现在可能会困惑什么
“代码不是从上到下执行吗,为什么还会分支?”
因为真实世界有大量“如果...就...否则...”场景。 条件语句就是把业务规则写成可执行逻辑。
一句话定义
条件语句用 if / elif / else 根据布尔结果选择不同执行路径。
生活类比
地铁闸机:
- 余额够 -> 放行
- 余额不足 -> 拒绝
这就是最基础的 if/else。
最小可运行例子
balance = 120
price = 99
if balance >= price:
print("支付成功")
else:
print("余额不足")
多分支示例
score = 82
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 60:
grade = "C"
else:
grade = "D"
print(grade)
逻辑组合
is_member = True
order_amount = 180
if is_member and order_amount >= 100:
print("可用会员大额优惠")
课堂小测(5 分钟)
- 输入成绩,输出等级(A/B/C/D)。
- 判断“会员且余额 > 100”是否满足。
- 判断用户名是否为空字符串。
课堂小测参考答案与判分点
- 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
- 判分点 1(正确性):主流程结果正确,关键分支可执行。
- 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
- 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。
迁移任务(课后)
写一个“优惠券可用性判断”函数:
- 条件:会员 + 满额 + 未过期
- 输出:可用/不可用 + 原因
本节验收标准
你能独立做到:
- 写出单分支、双分支和多分支逻辑
- 组合
and/or/not完成业务条件 - 通过缩进保证分支结构正确
常见报错与调试步骤(新手版)
- 报错看不懂:先读最后一行错误类型(如
TypeError、NameError),再回到对应代码行定位。 - 不确定变量值:在关键位置临时
print(变量, type(变量)),先确认数据是否符合预期。 - 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。
常见误区
-
误区:把
=和==混用。 -
正解:
=赋值,==比较。 -
误区:分支里嵌套过深。
-
正解:复杂规则拆函数,主流程只保留关键判断。