Python判断语句
引入
很多时候当我们打开某个App,需要输入用户名和密码,如果正确那么就可以登录,否则不让使用。在我们身边这样场景有很多很多,想要实现这样的功能那我们就需要学习if判断。
基本使用
if是用来进行判断的,其使用格式如下:
if 要判断的条件:条件成立时,要做的事情
示例代码如下:
age = 30
print('----if判断开始----')
if age >= 18:print('已经成年了')  # 当前代码处有缩进 缩进为4个空格 一个Tab键
print('----if判断结束----')
注意:
- if判断总体来说:当条件满足后就要做某些事情,这些事情以及if它们是一个整体
 - 如果if条件成立后,要做的事情有很多,那么都需要在行首缩进四个空格(只需要敲一个tag键,Pycharm就会自动换行为四个空格)
 
示例代码如下:
age = 30
print('----if判断开始----')
if age >= 18:# 如果当前条件不成立则以下三句print都不会打印print('我已经成年了')print('我该懂事了')print('尽快学完python开发出去赚钱了')
print('----if判断结束----')  # 此处代码没有缩进 表示当前打印语句不在if语句控制范围之内,无论if条件是否成立都会执行
案例演示
代码:
age = 30
print("------if判断开始------")
if age >= 18:print("我已经成年了")print("我该懂事了")print("尽快学完python开发出去赚钱了")
print("------if判断结束------")
结果:
------if判断开始------
我已经成年了
我该懂事了
尽快学完python开发出去赚钱了
------if判断结束------
说明:age的值是30,所以age >= 18的结果是True,所以就会执行3个print
代码:
age = 16
print("------if判断开始------")
if age >= 18:print("我已经成年了")
print("------if判断结束------")
结果:
------if判断开始------
------if判断结束------
说明:age的值是16,所以age >= 18的结果是False,所以不会执行print(“我已经成年了”)
案例补充
示例一:
cool = True
money = 2000000
height = 178if cool == True and money >= 1000000 and height >= 176:# 如果3个条件头满足,那么就是 高富帅print("恭喜你,你是高富帅")
示例二:
name = input("请输入用户名:")
password = input("请输入密码:")if name == "ABC" and password == "123456":print("登录成功...")
随堂练习
要求:从键盘获取自己的年龄,判断是否大于或者等于18岁,如果满足就输出“哥,已成年,网吧可以去了”
- 使用input从键盘中获取数据,并且存入到一个变量中
 - 使用if语句,来判断 age >= 18是否成立
 
引入
想一想:在使用if的时候,它只能做到满足条件时要做的事情。那需要在不满足条件的时候做某些事,该怎么办呢?
答:使用 else
else与if配合使用
格式如下:
if 条件:满足条件时要做的事情1满足条件时要做的事情2满足条件时要做的事情3...(省略)...
else:不满足条件时要做的事情1不满足条件时要做的事情2不满足条件时要做的事情3...(省略)...
示例一:
ticket = True   # 用True代表有车票,False代表没有车票
if ticket == True:print("有车票,可以上火车")print("终于可以见到Ta了,美滋滋~~~")
else:print("没有车票,不能上车")print("亲爱的,那就下次见了")
结果一:
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~
结果二:
没有车票,不能上车
亲爱的,那就下次见了
注意:
- 无论是在if语句还是在else子句控制的代码之下都需要进行代码缩进!
 
随堂练习
要求:从键盘输入身高,如果身高没有超过150cm,则进动物园不用买票,否则需要买票。
提示:input获取的数据不是整数类型,需要用int()转换,例如int(“100”)结果就是整数100
参考代码:
height = input("请输入身高:")  # 获取身高
height = int(height)  # 类型转换为整数,只有整数才能比较大小
if height <= 150:print("可以直接入园,无需购票")
else:print("请先购票,再入园")
if能完成条件满足时做可以执行某些代码
if-else能完成条件满足时执行某些代码,不满足时执行另外一些代码
如果有这样一种情况:当条件1满足时做事件1;条件2满足时做事件2;条件3满足时做事件3,那该怎么实现呢?
答:elif
elif使用
格式如下:
if 条件1:事情1
elif 条件2:事情2
elif 条件3:事情3
# ...省略N个条件...
elif 条件n:事情n
else:以上条件都满足时执行的代码
说明一:执行流程
- 当条件1满足时,执行事情1,然后整个if结束
 - 当条件1不满足条件2满足时,则执行事情2,然后整个if结束
 - 当条件1、条件2不满足条件3满足时,则执行事情3,然后整个if结束
 - 依次类推,如果条件1、条件2、条件3.。。。。条件n-1都不满足且条件n满足,则执行事情n,然后整个if结束
 - 如果没有任何条件满足,那么就执行else中的事情
 
说明二:else
- else不是必须的,根据实际情况决定是否添加,如果所有条件满足时做的事情很明确,且没有全部都不满足的时候,此时就不用写
 - 如果当前能考虑的条件都有对应的代码,但不能保证所有条件都考虑到了,此时建议写上else
 
示例代码
score = 77  # 定义变量存储分数if score >= 90 and score <= 100:  # 如果分数在90~100print('本次考试,等级为A')
elif score >= 80 and score < 90:  # 如果分数在80~90print('本次考试,等级为B')
elif score >= 70 and score < 80:  # 如果分数在70~80print('本次考试,等级为C')
elif score >= 60 and score < 70:  # 如果分数在60~70print('本次考试,等级为D')
elif score >= 0 and score < 60:  # 如果分数在60以下print('本次考试,等级为E')
else:  # 如果分数不在0~100之间,就认为错误print("分数有误...")
注意点
在if判断中,最多只能有1个else,但可以有N个elif,必须有1个if
下面的写法是错误的
错误示范1:一个if最多有1个else
if 100 > 60:print("哈哈哈1")
else:print("哈哈哈2")
else:print("哈哈哈3")
错误示范2:一个if判断必须有1个if
else:print("哈哈哈2")
总结
到现在为止,if总体来说学习了3种
- 第1种:只判断一个条件,我们用if来实现
 - 第2种:可判断2个条件(满足、不满足),我们用if…else…来实现
 - 第3种:可以判断N个条件,我们用if…elif…elif…else…来实现
 
引入
想一想:
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况先对某个条件进行判断然后再判断另外一个条件的,这样的情况该怎样解决呢?
答:if嵌套
if嵌套的格式
if 条件1:满足条件1时可以做的事情满足条件1时可以做的事情...if 条件2:满足条件2时可以做的事情满足条件2时可以做的事情...
说明
- 外层if与内层if至于是3种if判断的哪一种都是可以的,根据实际情况来决定
 
示例代码
外层是if…else…内层也是if…else…
ticket = True # 用True代表有车票,False代表没有车票
knife_lenght = 9  # 刀子的长度,单位为cmif ticket == 1:print("有车票,可以进站")if knife_lenght < 10:print("通过安检")print("终于可以见到Ta了,美滋滋~~~")else:print("没有通过安检")print("刀子的长度超过规定,等待警察处理...")
else:print("没有车票,不能进站")print("亲爱的,那就下次见了")
结果一:
ticket = True
knife_lenght = 9
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
结果二:
ticket = True
knife_lenght = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...
结果三:
ticket = False
knife_lenght = 9
没有车票,不能进站
亲爱的,那就下次见了
结果四:
ticket = False
knife_lenght = 20
没有车票,不能进站
亲爱的,那就下次见了
想一想:
为什么结果三和结果四相同???
随堂练习
情节描述:上公交车,并且可以有座位坐下
要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下
请编写代码实现上述要求
