什么是条件语句?
条件语句可以根据给定的一个判断条件,在程序执行过程中判断该条件是否成立,根据条件结果执行不同的操作,
从而改变代码的执行逻辑,实现更多的功能。
打个比方就像你请女神看电影,如果女神答应了,那么你们晚上就能嘿嘿嘿……一起愉快的看电影;
如果女神不答应,只能在家做宅男了。不仅是在生活中,在程序开发中,条件语句应用到的地方也非常多。
Python中的条件判断语句
1、if 判断语句
if 判断的条件:
条件成立,这条才会被执行
程序执行的流程是这样的:
下面通过一个小demo来了解if语句的用法:
你邀请女神一起去看桃花侠大战菊花怪的电影
goddess_reply = "yes" # 女神的回复
if goddess_reply == "yes":
print("女神终于答应和我一起看电影啦!!!")
运行结果:
女神终于答应和我一起看电影啦!!!
注意:’=‘是赋值运算符,判断两者是否相等应该用’==’
小练习:将女神的答复改成’no’,看程序还会输出吗?
2、if-else判断语句
在使用if的时候,可以在满足条件时执行语句。如果在不满足条件的时候想执行另外的语句,该怎么办呢?python还有另一种判断语句的格式:
if 判断的条件:
满足条件时执行的语句1
满足条件时要做的语句2
...
else:
不满足条件时执行的语句1
不满足条件时执行的语句2
...
程序执行的流程是这样的:
女神答应了你去看电影,但是电影票还没买呢,你赶紧打开了买票软件:
# 电影票的数量,至少两张票及以上才能看成电影
movie_tickets_num = 2
if movie_tickets_num >= 2:
print("买到两张票,可以约女神看电影了,美滋滋~~~")
else:
print("没买够两个人的票,女神认为你在戏弄她,将你拉入了黑名单!")
输出结果1:票的数量在2张以上
买到两张票,可以约女神看电影了,美滋滋~~~
输出结果2:票的数量不够2张
没买够两个人的票,女神认为你在戏弄她,将你拉入了黑名单!
小练习:如果不用’>=’,而用’>'号,程序应该怎么修改呢?
3、if-elif-else判断语句
如果有这样一种情况:
当条件1满足执行事件1;
当条件1不满足,但条件2满足时执行事件2;
当条件2不满足,但条件3满足时执行事件3,我们应该怎么去实现呢?这就要用到python的elif:
if 判断条件1:
要执行的事件1
elif 判断条件2:
要执行的事件2
elif 判断条件3:
要执行的事件3
else:
如果所有条件都不满足时执行这里
程序执行的流程是这样的:
快到电影院了,你想给女神买点东西吃,你赶紧看了下口袋里的钱
money = 50 # 你口袋里剩下的钱
if money >= 100:
print("给女神买了美味的提拉米苏蛋糕,一起愉快的看电影")
elif 50 <= money < 100:
print("给女神买了星巴克的热咖啡,一起愉快的看电影")
elif 20 <= money < 50:
print("给女神买了美味的奶茶,一起愉快的看电影")
elif 10 <= money < 20:
print("只能给女神买份爆米花了,一起愉快的看电影")
else:
print("你没钱给女神买任何东西,不过好在女神不饿(ಥ_ಥ) ~~~")
输出结果:
给女神买了星巴克的热咖啡,一起愉快的看电影
小练习:尝试更改money的值,查看输出的结果有何不同。
Tips:
elif必须和if一起使用,否则程序会出错
else 一般用在最后,当所有条件都不满足时才会执行
4、if的嵌套
1、嵌套的格式
if 判断条件1:
符合条件1做的事情
if 判断条件2:
符合条件2做的事情
2、嵌套的应用
上面3个小案例其实是有前后关系的,女神只有答应了请求我们才会去买电影票,只有答应且买了电影票,我们才会在电影院给女神买吃的然后一起愉快地看电影,因此,我们可以用if的嵌套来完成这整个的流程:
goddess_reply = "yes" # 女神的回复
movie_tickets_num = 2 # 电影票的数量,至少两张票及以上才能看成电影
money = 50 # 你口袋里剩下的钱
if goddess_reply == "yes":
print("女神终于答应和我一起看电影啦!!!")
if movie_tickets_num >= 2:
print("买到两张票,可以约女神看电影了,美滋滋~~~")
if money >= 100:
print("给女神买了美味的提拉米苏蛋糕,一起愉快的看电影!!")
elif 50 <= money < 100:
print("给女神买了星巴克的热咖啡,一起愉快的看电影!!")
elif 20 <= money < 50:
print("给女神买了美味的奶茶,一起愉快的看电影!!")
elif 10 <= money < 20:
print("只能给女神买份爆米花了,一起愉快的看电影!!")
else:
print("你没钱给女神买任何东西,不过好在女神不饿(ಥ_ಥ) ~~~")
else:
print("没买够两个人的票,女神认为你在戏弄她,将你拉入了黑名单!")
所以,嵌套的应用场景就非常明确了,就是后者执行的条件是依据在前者的成立的基础之上,就适合用if嵌套。
5、完成一个小练习
你要去做飞机,要求必须戴口罩才可以进飞机场,必须有飞机票才可以进行安检。必须不能携带充电宝才可以过安检。
是否戴口罩 is_ware_mask (yes:戴了 no:没戴)
飞机票 have_plane_ticket(1:有票 2:没票)
是否有充电宝 have_portable_battery(1:有 2:没有)