【python】if elif else语句

目录

  • 布尔类型和比较运算符
  • if语句的基本格式
  • if else语句
  • if elif else语句
  • 判断语句的嵌套
  • 实战案例

学习目标

掌握 if elif else 语句进行多条件判断的语法

思考

某些场景下,判断条件不止一个,可能有多个。
这种需求能用 Python 实现吗?

if elif else 语句可以实现

if elif else 语句

生活中的判断:

如果1
动作
如果2
动作
如果N
动作
否则
动作

程序中的判断:

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,可以兔费游玩。
祝您游玩愉快。

1101 是手动输入并回车。

请输入你的身高(cm):130
请输入你的vip级别(1~5):4
您的vip级别大于3,可以免费游玩。
祝您游玩愉快。

1304 是手动输入并回车。

请输入你的身高(cm):130
请输入你的vip级别(1~5):1
不好意思,所有条件都不满足,需要购票10元。
祝您游玩愉快。

1301 是手动输入并回车。

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号免费日,可以免费游玩。
祝您游玩愉快。

if height < 120:
print...
1
elif vip_level > 3:
print...
2
elif day == 1:
print...
3
else:
print...
4

判断是互斥且有顺序的。

  • 满足 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 输入语句直接写入判断条件中。
节省代码量

总结:

  1. if elif else 语句的作用是?

可以完成多个条件的判断

  1. 使用 if elif else 的注意点有:
  • elif 可以写多个
  • 判断是互斥且有序的,上一个满足后面的就不会判断了
  • 可以在条件判断中,直接写 input 语句,节省代码量

练习案例:猜猜心里数字

  1. 定义一个变量,数字类型,内容随意。
  2. 基于 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值