Python 条件控制是通过一条或多条语句的执行结果是 True 还是 False 来决定执行的代码块。

下面是个最简单的流程图:

if 如果条件为真则执行语句块1,否则执行语句块2

一、if 语句

单独 if 判断,都条件为 True 值执行语句块,否则跳过。

if 语句格式如下:

if <条件>:
语句块

释:条件为真时执行【语句块】,否则跳过

注意: 条件为 0 和 None 相当于 False。

示例:

# 根据年龄age判断,如果为成年人列印 「age 岁是成年人」
age = 18
if age >= 18: # 判断条件 注意条件后的【:】号
print(18, 岁是成年人)
print(执行了if的语句块)
print(执行结束)

注意:Python 代码的缩进规则。具有相同缩进的代码被视为同一代码块,上面的4,5行 print 语句就构成一个代码块( 但不包括第6行的 print 语句)。如果 age大于等于18,就会执行 4 和 5 行代码块。

缩进要严格按照 Python 的习惯写法:4个空格,或者使用 Tab,不要混合 Tab 和空格,否则很容易造成因为缩进而引起的语法错误。

二、if...else... 语句

if...else... 语句,当 if 的条件为 True 时执行 if 下的语句块,否则执行 else 下语句块。

if...else... 语句格式如下:

if <条件>:
if 的语句块
else:
else 的语句块

释:条件为 True 时执行【if的语句块】,否则执行【else的语句块】

示例:

"""根据年龄age判断,如果为成年人列印age岁是成年人,否则列印age不是成年人"""
age = 18
if age >= 18: # 判断条件
print(18, 岁是成年人)
print(执行了if语句块)
else:
print(18, 岁不是成年人)
print(执行了else语句块)

当 age 大于等于 18 时执行 if 下的语句,age 小于 18 时执行 else 下的语句

三、if...elif...else 语句

if...elif...else 多个条件筛选,从 if 的第一个条件开始依次判断,找到条件为 True 的执行它下面的语句块,如果找不到则执行 else 语句块。

if <条件1>:
if 的语句块1
elif <条件2>:
elif 的语句块2
elif <条件3>:
elif 的语句块3
else:
else 的语句块

注意:新手都会犯的错误,条件1为真,执行if的语句块1,如果条件2也为真,不会执行【 elif 的语句块2】语句。

示例:

"""根据年龄age判断,是老人,中年人,青年,儿童,婴儿"""
age = 30
if age >= 60:
print(age, 岁是老人)
print(执行if的语句块1)
elif age >= 40:
print(age, 岁是中年人)
print(执行elif的语句块2)
elif age >= 18:
print(age, 岁是中青年)
print(执行elif的语句块3)
elif age >= 3:
print(age, 岁是儿童)
print(执行elif的语句块4)
else:
print(age, 岁是婴儿)
print(执行else的语句块)

拓展:你可以尝试将 age >= 3条件放最前,看看输出结果

四、if 语句嵌套

在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。

释:条件1为 True,进入语句块1,对第二个if语句进行判断执行第二个if语句。

示例:

d = {name: woodman, age: 32, sex: }
if d[age] < 30:
if d[sex] == :
print(d[name], 是一位年轻的大帅哥)
elif d[sex] == :
print(d[name], 是一位年轻的大美女)
else:
if d[sex] == :
print(d[name], 是一位快老了的大帅哥)
elif d[sex] == :
print(d[name], 是一位快老了的大美女)

总结:if 语句不管是嵌套还是单个的if ,重点在条件的先后判断; if ...elif ... else ... 是整体的判断链条, 同一 if ...elif ... else ... 链条,如果遇到条件为 True ,则后面的 elif 或 else 将不会执行。


推荐阅读:
相关文章