Python if-else分支详解:从零到实战的九种条件判断技巧
Python学习进入第9天,今天我们将深入讲解一种看似简单但极为核心的控制结构:if-else分支。为什么要用整整一天时间来专门打磨这个知识点?因为条件判断是所有“智能”代码的起点——没有它,程序不过是一套按部就班的菜谱。而今天,我们要通过实战练习,把这套“分支剑法”练到炉火纯青。

100天Python挑战进行到第9天,今天不练循环,专攻“分支剑法”——单分支、双分支、多分支,外加嵌套分支和三元运算符。目标只有一个:让代码学会“见招拆招”,灵活应对各种条件判断场景。
今日速览:分支结构全掌握
- 单分支
if的极简写法与适用场景 - 双分支
if else的互斥逻辑应用 - 多分支
if elif else的阶梯判断技巧 - 嵌套分支与三元表达式的优雅用法
- 三大实战项目:成绩评级、登录验证、迷你计算器
1. 单分支 if:最简单的条件判断
先从最基础的单分支开始——条件满足时,执行一次操作,结构简洁明了。这是Python条件判断的入门写法,也是后续所有分支结构的基础。
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 代码块会显得冗长。这时Python的三元表达式就派上用场了,它能让代码更加紧凑易读。
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:登录验证系统
这是一个典型的双重验证场景:先检查用户名是否存在,再验证密码是否正确。嵌套在这里是有意义的——不是所有嵌套都要逃避,关键看逻辑是否自然。这种分层验证在Web开发中十分常见。
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 的时候,脑子里自然要浮现三个问题:是单条件判断?还是双条件互斥?或者需要多级选择?想清楚了,代码的骨架自然就立起来了。Python条件分支掌握好了,后续的循环、函数、类都将更加得心应手。
- 用
if做单条件判断 - 用
if else做双条件互斥 - 用
if elif else做多级选择 - 用嵌套与三元表达式写优雅分支
- 把分支写进成绩、登录、计算器实战
