Python 的条件控制语句
程序并非是一成不变的向下执行,有的时候也要根据条件的不同选择不一样的代码,这个时候便用到了分支结构。那么到底如何让程序根据条件的不同选择不一样的代码呢?我们一起来看下:
1. 分支选择结构
1.1 功能与语法
程序可以根据条件执行不同的分支,程序结构如下图所示:

在图中,对条件进行判断:
- 如果条件为真,执行“条件为真的分支”
- 如果条件为假,执行“条件为假的分支”
Python 提供了 if 条件控制语句用于选择执行流程,Python 的 if 语句的语法如下:
if 条件:
条件为真的分支
else:
条件为假的分支
if 语句中可以省略 else 分支,语法如下;
if 条件:
条件为真的分支
1.2 例子
例子 1,编写程序 if-else.py 如下:
- 在第 1 行,判断条件 2 > 1 是否成立
- 在第 2 行,因为条件成立,执行 print(‘2 > 1 is True’)
- 在第 3 行,因为条件不成立,不执行 print(‘2 > 1 is False’)
程序 if-else.py 的输出结果为:
2 > 1 is true
例子 2,编写程序 if.py 如下:
- 在第 1 行,判断条件 1 == 1 是否成立
- 在第 2 行,因为条件成立,执行 print(‘1 == 1 is True’)
程序 if.py 的输出结果为:
1 == 1 is true
2. 多分支选择结构
2.1 功能与语法
程序可以根据多个条件的筛选执行不同的分支,程序结构如下图所示:

在图中,对多个条件进行判断:
- 如果条件 1 为真,则执行代码块 1
- 如果条件 2 为真,则执行代码块 2
- 如果条件 3 为真,则执行代码块 3
- 如果以上条件都不满足,则执行代码块 4
Python 提供了 elif 语句用于选择多个条件,Python 的 elif 语句的语法如下:
if 条件 1:
代码块 1
elif 条件 2:
代码块 2
elif 条件 3:
代码块 3
else:
代码块 4
if 语句中可以省略 else 分支,语法如下;
if 条件 1:
代码块 1
elif 条件 2:
代码块 2
elif 条件 3:
代码块 3
2.2 例子
编写程序 select.py 如下:
实例演示
预览
复制
color = input()
if color == 'red':
print('color is red')
elif color == 'green':
print('color is green')
elif color == 'blue':
print('color is ')
else:
print('color is other')
运行案例
点击 "运行案例" 可查看在线运行效果
- 在第 1 行,将用户输入的字符串保存在变量 color 中
- 在第 2 行,执行条件判断:color 是否等于 ‘red’,如果成立则执行第 3 行对应的分支
- 在第 4 行,执行条件判断:color 是否等于 ‘green’,如果成立则执行第 5 行对应的分支
- 在第 6 行,执行条件判断:color 是否等于 ‘blue’,如果成立则执行第 7 行对应的分支
- 在第 8 行,如果以上条件判断都不成立,则执行第 9 行对应的分支
运行程序 select.py,结果如下:
C:\> python select.py
green
color is green
- 程序运行时,输入字符串 green
- 满足程序第 4 行的条件判断,输出结果为 color is green
再次运行程序 select.py,结果如下:
C:\> python select.py
yellow
yellow is other
- 程序运行时,输入字符串 yellow
- 第 2 行、第 4 行、第 6 行的条件判断均不成功,执行第 9 行,输出结果为 yellow is other
3. 分支嵌套结构
3.1 功能与语法
在分支选择程序中,分支也可以是分支选择语句,形成分支嵌套结构,如下所示:

- 程序首先判断条件 1 是否为真
- 如果条件 1 为真,则判断条件 2 是否为真
- 条件 1 为真并且条件 2 为真,执行代码块 1
- 条件 1 为真并且条件 2 为假,执行代码块 2
- 如果条件 1 为假,则判断条件 3 是否为真
- 条件 1 为假并且条件 3 为真,执行代码块 3
- 条件 1 为假并且条件 3 为假,执行代码块 4
3.2 例子
编写程序 nest.py 如下:
实例演示
预览
复制
sex = input()
age = int(input())
if sex == 'male':
if age > 50:
print('old male')
else:
print('young male')
else:
if age > 50:
print('old female')
else:
print('young female')
运行案例
点击 "运行案例" 可查看在线运行效果
- 在第 1 行,用户输入性别 sex
- 在第 2 行,用户输入年龄 age,注意:使用函数 int() 将用户输入的字符串转换为整数
- 在第 3 行,判断用户性别
- 如果为真则执行第 4 行的 if 语句
- 如果为假则执行第 9 行的 if 语句
运行程序 nest.py,结果如下:
C:\> python nest.py
female
20
young female
- 首先,用户输入性别为 female
- 然后,用户输入年龄 20
- 经过第 3 行的条件判断 sex == male 和 第 9 行的条件判断 age > 50
- 执行第 12 行的语句
- 输出 young female
4. 小结
分支结构在工作中可谓是基本每天都会写,所以掌握分支结构也就显得非常重要。记得把课程中的代码多敲几遍,熟能生巧。
Python 入门语法教程
01 Python 语言简介及其应用领域
02 MacOS 下搭建 Python 开发环境
03 Ubuntu 下搭建 Python 开发环境
04 Windows下搭建 Python 开发环境
05 Python 代码如何运行
06 Python 的基本语法规范
07 Python 中常用的数据类型
08 Python 数据类型详细篇:数值
09 Python 数据类型详细篇:布尔值
10 Python 数据类型详细篇:列表
11 Python 数据类型详细篇:字符串
12 Python 数据类型详细篇:元组
13 Python 数据类型详细篇:字典
14 Python 数据类型详细篇:集合
15 Python 的条件控制语句
16 Python 的循环控制语句
17 Python 中的推导式
18 Python 编程案例实践
19 Python 中的函数
20 Python 中的函数参数
21 Python 函数实战
22 Python 编程范式科普
23 Python 的 lambda 表达式
24 Python 的闭包简介
代码预览
退出