pyhton基础【4】判断
一. 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条件是否成立都会执行执行结果:
------if判断开始------
我已经成年了
我该懂事了
尽快学完python开发出去赚钱了
------if判断结束------
说明:age的值是30,所以age >= 18的结果是True,所以就会执行三个print
age = 16
print("------if判断开始------")
if age >= 18:print("我已经成年了")
print("------if判断结束------")执行结果:
------if判断开始------
------if判断结束------
说明:age的值是16,所以age >= 18的结果是False,所以不会执行print("我已经成年了")
二. 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")结果就是整数100height = input("请输入身高:") # 获取身高
height = int(height) # 类型转换为整数,只有整数才能比较大小
if height <= 150:print("可以直接入园,无需购票")
else:print("请先购票,再入园")
三.elif
使用
如果有这样一种情况:当条件一满足时做事件一;条件二满足时做事件二;条件三满足时做事件三,可以使用elif实现。
if 条件1:事情1
elif 条件2:事情2
elif 条件3:事情3
# ...省略N个条件...
elif 条件n:事情n
else:以上条件都不满足时执行的代码
说明一:执行流程
- 当条件一满足时,执行事件一,然后整个if结束
- 当条件一不满足条件二满足时,则执行事件二,然后整个if结束
- 当条件一、条件二不满足条件三满足时,则执行事件三,然后整个if结束
- 依次类推,如果条件一、条件二、条件三、条件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判断中,最多只能有一个else,但可以有N个elif,必须有一个if。
下面的写法是错误的:
错误示范一:一个if最多有一个elseif 100 > 60:print("哈哈哈1")
else:print("哈哈哈2")
else:print("哈哈哈3")错误示范二:一个if判断必须有一个ifelse:print("哈哈哈2")
总结
到现在为止,if总体来说学习了三种:
- 只判断一个条件,我们用if来实现
- 可判断两个条件(满足、不满足),我们用if...else...来实现
- 可以判断N个条件,我们用if...elif...elif...else...来实现
四. 嵌套判断
if嵌套的格式
if 条件一:满足条件一时可以做的事情满足条件一时可以做的事情...if 条件二:满足条件二时可以做的事情满足条件二时可以做的事情...
说明
- 外层if与内层if至于是三种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
没有车票,不能进站
亲爱的,那就下次见了