文章目录
- 第三章 Python判断语句
- 3.5 判断语句的嵌套
- 3.5.1 判断语句的嵌套
- 3.5.2 总结
第三章 Python判断语句
3.5 判断语句的嵌套
有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对这种需求,嵌套判断语句可以实现
3.5.1 判断语句的嵌套
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以:自由组合 if elif else,完成特定需求的要求
基础语法格式如下:
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系
【简单嵌套】
print("欢迎来到黑马动物园。")
if int(input("输入你的身高(cm): ")) > 120:
print("你的身高大于120cm , 不可以免费")
print("不过如果你的VIP等级高于3, 可以免费游玩")
if int(input("请告诉我你的VIP等级: ")) > 3:
print("恭喜你, 你的VIP等级高于3, 可以免费游玩")
else:
print("Sorry, 你需要补票 10元")
else:
print("欢迎你小朋友, 可以免费游玩")
运行结果
如上:
- 判断有2层
- 当外层if满足条件(图中编号1)时,才会执行内层if判断(图中编号2)
- 当外层if(编号1)不满足,直接执行外层esle
自由组合嵌套,需求如下:
公司要发礼物,条件是:
- 必须是大于等于18岁小于30岁的成年人【这个条件必须满足】
- 同时入职时间需满足大于两年,或者级别大于3才可领取【这个条件二选一满足】
age = int(input("请输入年龄: "))
year = int(input("请输入入职时间: "))
level = int(input("请输入级别: "))
if age >= 18:
print("成年人符合, 继续判断")
if age < 30:
print("年龄达标继续判断")
if year > 2:
print("小于30岁的成年人且入职超过2年, 满足条件, 可以领取")
elif level > 3:
print("小于30岁的成年人且级别达标, 满足条件, 可以领取")
else:
print("Sorry, 您的入职时间和级别都不达标!")
else:
print("Sorry, 年龄太大了, 不达标!")
else:
print("Sorry, 未成年不可领取礼物")
运行结果
如上:
- if elif else 可以自由组合
- 满足缩进的要求即可
3.5.2 总结
- 嵌套判断语句可以用于多条件、多层次的逻辑判断
- 嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断
- 嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系