可以参看我的视频进行学习,喜欢的话,关注,点赞,分享
学会多层判断,让你的代码逻辑更清晰
一、什么是 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("输入数据无效")
五、总结
💡 学习建议:先画流程图理清逻辑,再写代码,事半功倍!