Python的从0到1(第十五天)-Python的条件判断2

这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战

双向判断,if...else...

在Python世界,我们可以利用if的双向判断形式:if…else…去实现这个动作:当剩余钱包的数量小于1时,需要给抢红包的人送上祝福,来晚了,但还是要祝您万事如意!!!

下面,请你直接运行下面的代码,看程序是如何识别的:

# 剩余红包数量

redpacketnumber=0

# 条件:如果剩余红包数量大于等于1

if redpacketnumber >=1:

    # 结果:显示‘成功抢到了红包’的结果

    print('成功抢到了红包')

else:

    # 结果:显示'来晚了,但还是要祝您万事如意!!!'的结果

    print('来晚了,但还是要祝您万事如意!!!')
复制代码

其实生活中也是一样,很多事情都不是非此即彼的,当不满足条件的时候,我们要怎么办。

Python则很贴心地,让我们借用if...else语句,让码农有了另一种选择---[如果...就,否则...就]

在if...else条件语句中,if和else各自抱团,形成两个不同的代码块。表示的是条件和其他条件的互斥关系——如果不满足if条件,就执行else其他条件。

如果用我们上面抢红包的例子讲解的话,if定义的就是剩余红包数量>=1,而else定义的则是剩余红包数量<1。

而由于赋值【redpacketnumber =0】,并不满足【if redpacketnumber >=1:】这个条件,所以不能执行【print('成功抢到了红包')】的命令。

只能走第二条else:的路——执行print('来晚了,还是祝您万事如意!!!')的结果。

下面,我们来做个题巩固一下if...else...的知识点:抢完了红包,我们可以去吃饭了,可是吃什么还是得根据抢红包的多少来决定,如果我们抢的红包大于50元,我们就可以来一吨肉的,如果不超过50元,我们就只能吃素的了。

# 要先为抢到红包的金额赋值,假设抢到了38元

money=38
# 如果红包超过50的条件下,就...(条件后需加冒号)

if money>50:

    # 就打印结果:大口吃肉,大口喝酒

    print('大口吃肉,大口喝酒')

# 如果红包没有超过50,就...(else条件前无缩进,条件后需加冒号)

else:

    # 就打印:素食主义,养生才是硬道理

    print('素食注意,养生才是硬道理')
复制代码

关于if...else...的相关知识点到这里就讲完了,我们来总结一下if…else…语句的知识点。

上面的吃饭的练习中,我们会发现,事情并不是只有两面,可能会有第三面,其实38元我们也可以搭配一点肉菜了,荤素搭配,更营养,更健康。

那么,场景中有三个如果使用Python要如何实现呢?

多向判断:if…elif…else…

上述场景中,在判断3个或3个以上的条件时,我们就需要借助Python中的多向判断命令:if…elif…else…。

这三者共同构成了多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。

并且,当判断的条件超过3个时,中间的多个条件都可以使用elif。

那么,这个代码要怎么写呢?我们还是在代码中来感受一下elif的逻辑

# 要先为抢到红包的金额赋值,假设抢到了38元

money=38

# 如果红包超过50的条件下,就...(条件后需加冒号)

if money > 50:

    # 就打印结果:大口吃肉,大口喝酒

    print('大口吃肉,大口喝酒')

# 如果红包超过35,没超过50

elif 50 >= money > 35:

    print('荤素搭配,更营养,更健康')

# 如果红包没有超过50,就...(else条件前无缩进,条件后需加冒号)

else:

    # 就打印:素食主义,养生才是硬道理

    print('素食注意,养生才是硬道理')
复制代码

通过上面if和else的积累,多向判断elif的逻辑是不是很好理解呢?

首先,第一行的赋值,会按照从上到下的顺序挨个试一遍,看自己满足哪个条件,满足了就不往下走,不满足就继续试,试出结果为止。

其次,elif的运行本质上和else一样,已经带有其他条件的意思,所以elif后可以不接else。

比如上面的代码,money=38会对下面的if elif else条件逐个扫描,看看自己满足哪一个,就执行哪个条件底下的命令。

很显然,第二个条件elif 50 >= money > 35刚好能与money=5的前提相匹配,于是,执行elif底下的命令: print('荤素搭配,更营养,更健康')

下面,我们来总结一下elif的知识点:

猜你喜欢

转载自juejin.im/post/7032970413051215902
今日推荐