22. if...elif...else 多向判断
22. if…elif…else 多向判断
文章目录
- 22. if...elif...else 多向判断
- 1. if...else...语句复习
- 2. 体验代码
- 3. 代码执行的顺序
- 4. 课堂练习
- 5. 总结
1. if…else…语句复习
在上一节中,我们学习了if...else...
语句。
如果条件成立就执行if
语句后面的代码块。
如果条件不成立就执行else
语句后面的代码块。
if...else...
语句是二选一,要么这样,要么那样。
但其实是生活中,n选一的情况更为多见。
【举例说明】
猜体重问题可能输出的3种情况:
1.猜多了;
2.猜少了;
3.猜对了。
我们的BMI值存在多种标准:
像这样n选一的条件判断语句,怎么写呢?
2. 体验代码
age = int(input("猜猜我今年多少岁:"))
# 如果if语句条件成立,输出【你猜大了】!
if age > 18 :
print("你猜大了!")
# 如果elif语句条件成立,输出【你猜小了!】
elif age < 18 :
print("你猜小了!")
# 如果if,elif语句都不成立,输出【你猜对了!】
else:
print("你猜对了!")
【终端输出】
你猜对了!
像这样n选一的条件判断语句,我们通常用if...elif...else...
语句来实现。
elif是else if
的缩写。
【代码解析】
第1,2行代码:如果输入的数字大于18,输出你猜大了。
第3,4行代码:如果输入的数字小于18,输出你猜小了。
第5,6行代码:否则输出你猜对了(一个整数不大于18,也不小于18,那它就是18)。
if后的语句是当if判断条件成立时,执行的操作。
elif后的语句是当if判断不成立时,再判断一次,如果成立,执行的操作。
else后的语句是当以上所有判断条件都不成立时,执行的操作。
3. 代码执行的顺序
age = 20
if age > 18 :
print("你猜大了!")
elif age < 18 :
print("你猜小了!")
else:
print("你猜对了!")
print("程序结束!")
【终端输出】
你猜大了!
age=20,程序执行第1,2,3,8行代码。
age=15,程序执行第1,2,4,5,8行代码。
age=18,程序执行第1,2,4,6,7,8行代码。
当条件满足时,程序就不会执行剩余的判断语句,程序自动跳出。
elif 语法和if语法是一致的,重点关注英文冒号和缩进即可。
4. 课堂练习
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YjQ02J0c-1661616214924)(./img/2.bmi.jpg)]
【题目要求】
- 从终端输入一个bmi值(养成习惯,每次输入数据时要考虑需要的数据类型)。
- 对照上面的图片进行判断,并输出对应的标准。
- 图片中没有小于18.5的指标,代码中增加了一个判断,当bmi小于18.5时,输出【太瘦了!】
【参考答案】
bmi = float(input("请输入你的bmi值:"))
if 18.5 <= bmi < 25 :
print("正常!")
elif 25 <= bmi < 30 :
print("超重!")
elif 30 <= bmi < 35 :
print("1度肥胖!")
elif 35 <= bmi < 40 :
print("2度肥胖!")
elif bmi >= 40 :
print("3度肥胖!")
else:
print("太瘦了!")
【终端输出】
3度肥胖!