在学习if语句之前,我们先学习一种数据类型,布尔类型(bool),在if语句中,我们需要通过判断条件是否为真或者假,才进入下面的语句块执行。
布尔类型:True、False,用来记录真假这两种状态。
True、False在和数字做数字运算的时候分别代表的是0、1。
False、None、0、空(""、()、{})都解释为False,其他的都解释为True。
语法结构如下:
if 条件1: # 如果条件1的结果为True,就依次执行:代码1、代码2,......
代码1
代码2
......
elif 条件2: # 如果条件2的结果为True,就依次执行:代码3、代码4,......
代码3
代码4
......
elif 条件3: # 如果条件3的结果为True,就依次执行:代码5、代码6,......
代码5
代码6
......
else: # 其它情况,就依次执行:代码7、代码8,......
代码7
代码8
......
在一个if语句下,可以有多个elif,但只有一个else。
需要注意的是:
# 1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
# 2、条件可以是任意表达式,但执行结果必须为布尔类型
# 在if判断中所有的数据类型也都会自动转换成布尔类型
例1:一个人的年龄大于18岁,是成年人,小于18岁是未成年
age = 24
if age > 18:
print("成年人")
else:
print("未成年")
例2:成绩小于60是差,大于60是及格,70到85是良好,85到100是优秀
grade = 89
if 85 < grade <= 100:
print("优秀")
elif 70 < grade <= 85:
print("良好")
elif 60 <= grade <= 70:
print("及格")
else:
print("差")
例3:条件中有多个判断条件,有多个条件时,可以用and,or,来连接
身高165以上,体重为110斤以下,是瘦子
身高160到165,体重为110到120,正常
身高160以下,体重大于120,微胖
height = 167
weight = 100
if height >165 and weight < 110:
print("这个人很瘦")
elif 160 < height < 165 and 110 < weight < 120:
print("正常身材")
elif height < 160 and weight > 120:
print("有点微胖")
else:
print("其他身材")
表达式为:[on_true] if [expression] else [on_false],
含义为:如果expression条件为真,则执行no_true,否则执行on_false
例如:a = 10, b = 20,比较a和b谁大,谁大就输出谁
a, b = 10, 20
print(a) if a>b else print(b) # 20
还可以进行嵌套,在嵌套时,需要注意if与else的配对关系:
a if a>b else c if c>d else d
可以看作:a if a>b else (c if c>d else d)
含义:当a>b为True时,执行a,
当a>b为False时,执行c if c>d else d,在a>b为False的前提下,当c>d为True时,执行c,当c>d为False时,执行d
例如:a = 10, b = 20,比较a与b的大小关系
a, b = 10, 20
print("a大于b") if a>b else print("a小于b") if a