Python判断语句_判断语句的嵌套
学习目标:
1、掌握Python判断语句的终极用法:嵌套使用
有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。
对于这种需求,在Python中,可以使用嵌套判断语句实现。
一、判断语句的嵌套
许多逻辑的判断,是嵌套的,多层次的。
对于这种需求,我们可以:自由组合 if
、elif
、else
,完成特定需求的要求。
1.1、基础语法
if 条件1:
满足条件1做的事情1
满足条件1做的事情2
...
if 条件2:
满足条件2做的事情1
满足条件2做的事情2
...
如上,第二个 if
,属于第一个 if
内,只有第一个 if
满足条件,才会执行第二个 if
。
嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系
1.2、简单嵌套
print("欢迎来到黑马动物园。")
if int(input("请输入你的身高(cm):")) > 120:
print("你的身高大于120cm,不可以免费")
print("不过如果你的vip等级高于3,可以免费游玩")
if int(input("请告诉我你的vip级别(1~5):")) > 3:
print("恭喜你,你的vip级别大于3,可以免费游玩")
else:
print("Sorry,你需要补票10元。")
else:
print("欢迎你小朋友,可以免费游玩。")
print("祝您游玩愉快。")
解析代码:
- 判断有2层;
- 当外层
if
满足条件时,才会执行内层if
判断; - 当外层
if
不满足时,直接执行外层else
;
执行结果:
当身高=100cm时:
当身高=130,vip=4时:
当身高=130,vip=1时:
1.3、自由组合嵌套
示例需求如下:
公司需要发礼物,条件是:
- 必须是大于等于18岁小于30岁的成年人;
- 同时入职时间需满足大于两年,或者级别大于3才可以领取。
age = int(input("请输入你的年龄:"))
if age >= 18:
print("成年人符合,继续判断")
if age < 30:
print("年龄达标,继续判断")
if int(input("请输入你的工龄(年):")) > 2:
print("小于30岁的成年人且入职超过2年,满足条件,可以领取")
elif int(input("请输入你的级别(1~5):")) > 3:
print("小于30岁的成年人且级别大于3,满足条件,可以领取")
else:
print("Sorry,虽然你的年龄达标,但是入职未超过2年且级别不大于3,不可领取礼物")
else:
print("年龄超过了30岁,不可领取礼物")
else:
print("Sorry,未成年不可领取礼物")
if elif else
可以自由组合- 满足缩进的要求即可
执行结果:
当年龄=10时:
当年龄=45时:
当年龄=25,工龄=4时:
当年龄=25,工龄=1,级别=5时:
当年龄=25,工龄=1,级别=1时: