目录
- 布尔类型和比较运算符
- if语句的基本格式
- if else语句
- if elif else语句
- 判断语句的嵌套
- 实战案例
学习目标
掌握 if elif else 语句进行多条件判断的语法
思考
某些场景下,判断条件不止一个,可能有多个。
这种需求能用 Python 实现吗?
if elif else 语句可以实现
if elif else 语句
生活中的判断:
程序中的判断:
if 条件1:
条件1满足应做的事情
条件1满足应做的事情
......
elif 条件2:
条件2满足应做的事情
条件2满足应做的事情
......
elif 条件N:
条件N满足应做的事情
条件N满足应做的事情
......
else:
所有条件都不满足应做的事情
所有条件都不满足应做的事情
......
if elif else 语句
print("欢迎来到北京动物园。")
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的vip级别(1~5):"))
if height < 120:
print("您的身高小于120CM,可以兔费游玩。")
elif vip_level > 3:
print("您的vip级别大于3,可以免费游玩。")
else:
print("不好意思,所有条件都不满足,需要购票10元。")
print("祝您游玩愉快。")
请输入你的身高(cm):110
请输入你的vip级别(1~5):1
您的身高小于120CM,可以兔费游玩。
祝您游玩愉快。
110 和 1 是手动输入并回车。
请输入你的身高(cm):130
请输入你的vip级别(1~5):4
您的vip级别大于3,可以免费游玩。
祝您游玩愉快。
130 和 4 是手动输入并回车。
请输入你的身高(cm):130
请输入你的vip级别(1~5):1
不好意思,所有条件都不满足,需要购票10元。
祝您游玩愉快。
130 和 1 是手动输入并回车。
if elif else 语句注意点
print("欢迎来到北京动物园。")
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的vip级别(1~5):"))
day = int(input("请输入今天的日期(1~30):"))
if height < 120:
print("您的身高小于120cm,可以免费游玩。")
elif vip_level > 3:
print("您的vip级别大于3,可以免费游玩。")
elif day == 1:
print("今天是1号免费日,可以免费游玩。")
else:
print("不好意思,所有条件都不满足,需要购票10元。")
print("祝您游玩愉快。")
elif 语句可以写多个。
输出结果:
欢迎来到北京动物园。
请输入你的身高(cm):130
请输入你的vip级别(1~5):1
请输入今天的日期(1~30):1
今天是1号免费日,可以免费游玩。
祝您游玩愉快。
判断是互斥且有顺序的。
- 满足 1(如图编号)将不会理会 2 和 3
- 满足 2,将不会理会 3
- 1、2、3 均不满足,进入 else
- else 也可以省略不写,效果等同3个独立的 if 判断
if elif else 语句 注意点
if height < 120:
print("您的身高小于120cm,可以免费游玩。")
elif vip_level > 3:
print("您的vip级别大于3,可以免费游玩。")
elif day == 1:
print("今天是1号免费日,可以免费游玩。")
else:
print("不好意思,所有条件都不满足,需要购票10元。")
print 前的 空格缩进同样不可省略
if elif else 语句 注意点
print("欢迎来到北京动物园。")
if int(input("请输入你的身高(cm):")) < 120:
print("您的身高小于120cm,可以免费游玩。")
elif int(input("请输入你的vip级别(1~5):")) > 3:
print("您的vip级别大于3,可以免费游玩。")
elif int(input("请输入今天的日期(1~30):")) == 1:
print("今天是1号免费日,可以免费游玩。")
else:
print("不好意思,所有条件都不满足,需要购票10元。")
print("祝您游玩愉快。")
可以如上图,将 input 输入语句直接写入判断条件中。
节省代码量
总结:
- if elif else 语句的作用是?
可以完成多个条件的判断
- 使用 if elif else 的注意点有:
- elif 可以写多个
- 判断是互斥且有序的,上一个满足后面的就不会判断了
- 可以在条件判断中,直接写 input 语句,节省代码量
练习案例:猜猜心里数字
- 定义一个变量,数字类型,内容随意。
- 基于 input 语句输入猜想的数字,通过 if 和多次 elif 的组合,判断猜想数字是否和心里数字一致。
请输入第一次猜想的数字:1
不对,再猜一次:2
不对,再猜最后一次:3
Sorry,全部猜错啦,我想的是:10
答案:
"""
演示if elif else 练习题:猜猜心里数字
"""
# 定义一个变量数字
num = 10
# 通过键盘输入获取猜想的数字,通过多次 if 和 elif 的组合进行猜想比较
if int(input("请输入第一次猜想的数字:")) == num:
print("恭喜第一次就猜对了呢")
elif int(input("不对,再猜一次:")) == num:
print("猜对了")
elif int(input("不对,再猜最后一次:")) == num:
print("恭喜,最后一次机会,你猜对了")
else:
print(f"Sorry,全部猜错啦,我想的是:{num}")
输出结果:
请输入第一次猜想的数字:1
不对,再猜一次:2
不对,再猜最后一次:3
Sorry,全部猜错啦,我想的是:10