这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战
双向判断,if…else…
在Python世界,我们可以利用if的双向判断形式:if…else…
去实现这个动作:当剩余钱包的数量小于1时,需要给抢红包的人送上祝福,来晚了,但还是要祝您万事如意!!!
下面,请你直接运行下面的代码,看程序是如何识别的:
1 | bash复制代码# 剩余红包数量 |
其实生活中也是一样,很多事情都不是非此即彼的,当不满足条件的时候,我们要怎么办。
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元,我们就只能吃素的了。
1 | python复制代码# 要先为抢到红包的金额赋值,假设抢到了38元 |
关于if…else…的相关知识点到这里就讲完了,我们来总结一下if…else…语句的知识点。
上面的吃饭的练习中,我们会发现,事情并不是只有两面,可能会有第三面,其实38元我们也可以搭配一点肉菜了,荤素搭配,更营养,更健康。
那么,场景中有三个如果使用Python要如何实现呢?
多向判断:if…elif…else…
上述场景中,在判断3个或3个以上的条件时,我们就需要借助Python中的多向判断命令:if…elif…else…。
这三者共同构成了多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。
并且,当判断的条件超过3个时,中间的多个条件都可以使用elif。
那么,这个代码要怎么写呢?我们还是在代码中来感受一下elif的逻辑
1 | python复制代码# 要先为抢到红包的金额赋值,假设抢到了38元 |
通过上面if和else的积累,多向判断elif的逻辑是不是很好理解呢?
首先,第一行的赋值,会按照从上到下的顺序挨个试一遍,看自己满足哪个条件,满足了就不往下走,不满足就继续试,试出结果为止。
其次,elif的运行本质上和else一样,已经带有其他条件的意思,所以elif后可以不接else。
比如上面的代码,money=38会对下面的if elif else条件逐个扫描,看看自己满足哪一个,就执行哪个条件底下的命令。
很显然,第二个条件elif 50 >= money > 35刚好能与money=5的前提相匹配,于是,执行elif底下的命令: print('荤素搭配,更营养,更健康')
下面,我们来总结一下elif的知识点:
本文转载自: 掘金