logo
21

条件语句

⏱️ 25分钟

条件语句(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 分钟)

  1. 输入成绩,输出等级(A/B/C/D)。
  2. 判断“会员且余额 > 100”是否满足。
  3. 判断用户名是否为空字符串。

课堂小测参考答案与判分点

  • 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
  • 判分点 1(正确性):主流程结果正确,关键分支可执行。
  • 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
  • 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。

迁移任务(课后)

写一个“优惠券可用性判断”函数:

  • 条件:会员 + 满额 + 未过期
  • 输出:可用/不可用 + 原因

本节验收标准

你能独立做到:

  • 写出单分支、双分支和多分支逻辑
  • 组合 and/or/not 完成业务条件
  • 通过缩进保证分支结构正确

常见报错与调试步骤(新手版)

  • 报错看不懂:先读最后一行错误类型(如 TypeErrorNameError),再回到对应代码行定位。
  • 不确定变量值:在关键位置临时 print(变量, type(变量)),先确认数据是否符合预期。
  • 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。

常见误区

  • 误区:把 === 混用。

  • 正解:= 赋值,== 比较。

  • 误区:分支里嵌套过深。

  • 正解:复杂规则拆函数,主流程只保留关键判断。