当前位置:首页>python>Python if语句嵌套完全指南:从入门到实战

Python if语句嵌套完全指南:从入门到实战

  • 2026-09-10 01:33:50
Python if语句嵌套完全指南:从入门到实战

可以参看我的视频进行学习,喜欢的话,关注,点赞,分享

学会多层判断,让你的代码逻辑更清晰


一、什么是 if 嵌套?

if 嵌套指的是在一个 if 语句的代码块中,再写另一个 if 语句。就像俄罗斯套娃一样,一层套一层,用来处理更复杂的条件判断。

if 条件1:
if 条件2:
# 执行操作
else:
# 执行其他操作
else:
# 外层条件不满足时

二、经典案例详解

📌 案例 1:登录系统验证

场景:用户登录需要验证用户名和密码,还要判断账号状态。

username = input("请输入用户名:")
password = input("请输入密码:")
is_active = True# 账号是否激活

if username == "admin":
if password == "123456":
if is_active:
print("✅ 登录成功!欢迎回来")
else:
print("❌ 账号未激活,请联系管理员")
else:
print("❌ 密码错误")
else:
print("❌ 用户名不存在")

运行结果示例:

请输入用户名:admin
请输入密码:123456
✅ 登录成功!欢迎回来

📌 案例 2:成绩等级评定系统

场景:根据分数判断等级,并给出奖学金建议。

score = int(input("请输入成绩(0-100):"))

if0 <= score <= 100:
if score >= 90:
        grade = "A"
if score >= 95:
print(f"等级:{grade} | 🏆 获得特等奖学金")
else:
print(f"等级:{grade} | 🥇 获得一等奖学金")
elif score >= 80:
        grade = "B"
print(f"等级:{grade} | 🥈 获得二等奖学金")
elif score >= 70:
        grade = "C"
print(f"等级:{grade} | 🥉 获得三等奖学金")
elif score >= 60:
        grade = "D"
print(f"等级:{grade} | ⚠️ 及格,无奖学金")
else:
        grade = "F"
print(f"等级:{grade} | ❌ 不及格,需要补考")
else:
print("输入错误!成绩必须在 0-100 之间")

📌 案例 3:网购优惠计算器

场景:根据会员等级和购买金额计算最终价格。

amount = float(input("请输入购买金额:"))
is_member = input("是否是会员(y/n):").lower() == 'y'
member_level = input("会员等级(普通/银卡/金卡):") if is_member else"无"

if amount > 0:
if is_member:
if member_level == "金卡":
            discount = 0.7# 7折
print("🌟 金卡会员专享 7 折优惠")
elif member_level == "银卡":
            discount = 0.8# 8折
print("⭐ 银卡会员专享 8 折优惠")
else:
            discount = 0.9# 9折
print("💳 普通会员 9 折优惠")
else:
if amount >= 200:
            discount = 0.95# 满200减5%
print("🎁 非会员满200享 95 折")
else:
            discount = 1.0
print("💡 加入会员享受更多优惠")

    final_price = amount * discount
print(f"原价:¥{amount:.2f}")
print(f"实付:¥{final_price:.2f}")
print(f"节省:¥{amount - final_price:.2f}")
else:
print("请输入有效的购买金额")

三、嵌套技巧与最佳实践

✅ 1. 控制嵌套层数

建议不超过 3 层,否则代码可读性会急剧下降。

# ❌ 不好的写法(嵌套太深)
if a:
if b:
if c:
if d:
print("太深了!")

# ✅ 改进写法(提前返回)
ifnot a:
return
ifnot b:
return
ifnot c:
return
print("逻辑清晰!")

✅ 2. 使用逻辑运算符简化

# 合并条件,减少嵌套
if age >= 18and has_id andnot is_banned:
print("可以进入")
else:
print("禁止进入")

✅ 3. 善用 elif 链式判断

# 比多层 if-else 更清晰
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")

四、实战小练习

题目:编写一个 BMI 计算器,根据体重和身高判断健康状况。

点击查看答案
height = float(input("请输入身高(米):"))
weight = float(input("请输入体重(公斤):"))

if height > 0and weight > 0:
    bmi = weight / (height ** 2)
print(f"您的 BMI 值为:{bmi:.2f}")

if bmi < 18.5:
print("体重过轻,建议加强营养")
elif bmi < 24:
print("体重正常,继续保持")
elif bmi < 28:
print("超重,建议适当运动")
else:
print("肥胖,建议制定减重计划")
else:
print("输入数据无效")

五、总结

要点
说明
适用场景
多条件、多层次的复杂判断
最大层数
建议不超过 3 层
优化方向
提前返回、逻辑合并、使用 elif
常见错误
缩进错误、条件覆盖、逻辑混乱

💡 学习建议:先画流程图理清逻辑,再写代码,事半功倍!


最新文章

随机文章