苦练Python第9天:if-else分支九剑
苦练Python第9天:if-else分支九剑
Python学习的第9天,我们终于要聊一种看似简单但极为核心的控制结构:if-else分支。为什么要花一整天来专门磨这个?条件判断是所有“智能”代码的起点——没有它,程序不过是一套按部就班的菜谱。而今天,我们要用实战把这把“分支剑法”练得炉火纯青。

100天挑战进行到第9天,今天不练循环,专门磨“分支剑法”——单分支、双分支、多分支,外加嵌套和三元运算符。目标只有一个:让代码学会“见招拆招”。
今日速览
- 单分支
if的极简写法 - 双分支
if else的互斥逻辑 - 多分支
if elif else的阶梯判断 - 嵌套分支与三元表达式
- 三大实战:成绩评级、登录验证、简单计算器
1. 单分支 if
先看最基础的单分支——条件满足,就执行一次,简洁明了。
temperature = 38
if temperature > 37.3:
print("请佩戴口罩")
2. 双分支 if else
非此即彼的逻辑,在实际项目中用的最多:要么对,要么错,没有中间地带。
pwd = input("请输入密码:")
if pwd == "123456":
print("登录成功")
else:
print("密码错误")
3. 多分支 if elif else
当判断条件不止两个时,就需要多级阶梯。注意 elif 在Python中是 else if 的缩写,写起来比许多语言都优雅。
score = int(input("成绩:"))
if score >= 90:
level = "A"
elif score >= 80:
level = "B"
elif score >= 60:
level = "C"
else:
level = "D"
print("等级:", level)
4. 三元表达式
有时候双分支的逻辑太简单,写一个完整的 if-else 块显得啰嗦。这时三元表达式就派上用场了。
age = int(input("年龄:"))
status = "成年" if age >= 18 else "未成年"
print(status)
5. 嵌套分支
分支里套分支,虽然能解决问题,但必须提醒一句:嵌套层次一深,代码的可读性就会断崖式下降。实际工作中,能拆成多个 if 或改用 字典映射 的,尽量不要嵌套太深。
num = int(input("整数:"))
if num >= 0:
if num == 0:
print("零")
else:
print("正数")
else:
print("负数")
实战 1:成绩评级器
这大概是分支判断最经典的场景。关键点在于顺序:条件要遵循从极值到常规的排列顺序,先把异常情况处理掉。
score = float(input("请输入分数:"))
if score > 100 or score < 0:
print("无效分数")
elif score >= 90:
print("优秀")
elif score >= 75:
print("良好")
elif score >= 60:
print("及格")
else:
print("补考通知已发送")
实战 2:登录验证
这是一个典型的双重验证场景:先检查用户名是否存在,再验证密码是否正确。嵌套在这里是有意义的——不是所有嵌套都要逃避,关键看逻辑是否自然。
USERNAME = "admin"
PASSWORD = "secret"
user = input("用户名:")
pwd = input("密码:")
if user == USERNAME:
if pwd == PASSWORD:
print("欢迎回来,管理员!")
else:
print("密码错误")
else:
print("用户不存在")
实战 3:迷你计算器
把分支判断和算术运算结合起来,简单的四则运算就靠 if-elif 撑起来了。这里顺便用到了三元表达式来处理除零错误,值得品味。
a = float(input("a = "))
op = input("操作符(+-*/):")
b = float(input("b = "))
if op == "+":
print(a + b)
elif op == "-":
print(a - b)
elif op == "*":
print(a * b)
elif op == "/":
print("除数不能为0" if b == 0 else a / b)
else:
print("未知操作符")
今日复盘
回头看看今天练的这几招,其实都是同一个核心逻辑的变体——判断条件、执行分支。从今天起,当你写 if 的时候,脑子里自然要浮现三个问题:是单条件判断?还是双条件互斥?或者需要多级选择?想清楚了,代码的骨架自然就立起来了。
- 用
if做单条件判断 - 用
if else做双条件互斥 - 用
if elif else做多级选择 - 用嵌套与三元表达式写优雅分支
- 把分支写进成绩、登录、计算器实战