默认情况下,程序的运行流程是这样的:运行程序后,系统会按书写顺序从上至下执行程序中的每一行代码,但是这样并不能满足我们所有的开发需求。实际开发中,我们需要根据不同的条件执行不同的代码或者重复执行某一段代码,为了方便我们控制程序的运行流程,Python提供3种流程结构,不同的流程结构可以实现不同的运行流程。分别是顺序、选择、循环三种基本控制结构构造:
顺序结构:默认的流程结构。按照书写顺序从上至下执行每一条语句。
选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
循环结构:在给定条件成立的情况下,反复执行某一段代码。
1. 分支结构(选择结构)
Python中只有if语句可以实现分支结构的功能:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
1.1 if单分支
if单分支结构主要用于: 满足条件就执行某个操作,不满足就不执行。
可以通过下图来简单了解条件语句的执行过程:
语法:
if condition:
statement_block
说明:
if - 关键字,固定写法
condition - 条件语句,可以是任何有结果的表达式
:-固定写法
statement_block - 结构上是和if保持一个缩进的一条或者多条语句;逻辑上就是希望满足条件才执行的 代码块
执行过程
如果 'condition' 为 True将执行 'statement_block'
以下是一个简单的if实例:
# 根据年龄值的范围打印‘成年’
age = int(input('请输入年龄:'))
if age >= 18:
print('成年')
结果:
请输入年龄: 20
成年
请输入年龄: 12
1.2 if双分支
if双分支结构主要用于:满足条件执行某个操作,不满足条件的时候执行另外一个操作。
以下是if双分支结构的执行流程图:
语法
if condition:
statement_block1
else:
statement_block2
说明:
if-关键字,固定写法
condition-条件语句,可以是任何有结果的表达式
:-固定写法
statement_block1-结构上是和if保持一个缩进的一条或者多条语句;逻辑上就是希望满足条件才执行 的代码块
statement_block2-结构上是和else保持一个缩进的一条或者多条语句;逻辑上就是不满足条件才执行 的代码块
执行过程
先判断 'condition' 是否为True, 如果为True就执行 'statement_block1' , 否则'statement_block2'
以下是if-else结构的使用实例:
# 根据年龄值的范围打印'成年'或者'未成年'
age = int(input('请输入年龄:'))
if age >= 18:
print('成年')
else:
print('未成年')
结果:
请输入年龄:12
未成年
请输入年龄:30
成年
1.3 if多分支
if多分支结构主要用于:根据不同的条件执行不同的操作(后面的条件是在前面的条件不成立的情况下进行判断的)。
语法
if condition1:
statement_block1
elif condition2:
statement_block2
elif condition3:
statement_block3
...
else:
statement_block
说明:
if,else,elif-关键字,固定写法
condition-条件语句,可以是任何有结果的表达式
statement_block-语句块
执行过程
先判断 'condition1' 是否为True,为True就执行 'statement_block1',然后整个if-elif-else结构结束;
如果 'condition1' 为False,就判断 'condition2' 条件语句2''是否为True, 为True就执行 'statement_block2',然后整个if-elif-else结构结束;
如果 'condition2' 是False,就判断 'condition3' 是否为True, 为True就执行 'statement_block3',然后整个if-elif-else结构结束;
以此类推
如果所有的条件语句都不成立,执行else后面的代码段
以下是if多分支结构的使用实例:
# 根据年龄范围打印:少年(14岁以下)、青年(14~28)、壮年(29~39)、中年(40~59)、老年(60岁以下)
age = int(input('请输入人的年龄:'))
if age <= 0:
print('你逗我呢!')
elif age < 14:
print('少年')
elif age <= 28:
print('青年')
elif age <= 39:
print('壮年')
elif age < 60:
print('中年')
elif age < 150:
print('老年')
else:
print('成精了!')
结果:
请输入人的年龄:40
中年
请输入人的年龄:18
青年
1.4 嵌套的if结构
if嵌套指的是在if结构中再出现其他的if结构。
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
以下是嵌套的if结构实例:
num=int(input("输入一个数字:"))
# 判断num是否能被2整除
if num%2==0:
# num 能被 2 整除执行以下代码:
if num%3==0:
print ("你输入的数字可以整除 2 和 3")
else:
print ("你输入的数字可以整除 2,但不能整除 3")
else:
# num 不能被2整除执行以下代码:
if num%3==0:
print ("你输入的数字可以整除 3,但不能整除 2")
else:
print ("你输入的数字不能整除 2 和 3")