流程控制
- 顺序执行: 从上往下依次执行。(默认)
- 分支结构: 根据条件选择性的执行或不执行某段代码。
- 循环结构: 让指定的代码重复执行。
分支结构
python中实现分支结构的方式只有一种:if
-
if单分支结构: 满足某个条件执行某个操作,不满足就不执行。
-
语法:
""" if 条件语句: 代码块 说明: if - 关键字,固定写法 条件语句 - 可以满足任何有结果的表达式;如:独立的数据、运算表达式(不能赋值运算)、函数调用表达式 : - 固定写法 代码块 - 和if保持一个缩进的一条或多条语句;满足条件才会执行的一条或多条语句。(至少要一条语句) """
-
用法:
# 独立的数据 if 1: print(1) if not []: print([]) # 运算表达式 x = 3 y = 4 if x < y: print('{}<{}'.format(x, y)) """ 1 [] 3<4 """
-
执行过程:先判断条件语句是否位True,为True就执行if语句中的代码块,否则就不执行。(如果不是布尔值就先转换成布尔值再判断)
-
-
if多分支结构:从上往下依次执行分支结构,执行到成立的条件,执行其代码块后,跳出分支结构。
分支结构中没有成立的条件,看有无else,有else,执行else里面的代码块后,跳出分支结构。没有else,直接跳出循环
-
语法:
""" if 条件1: 代码块1: elif 条件2: 代码块2: ... else: 代码块n 说明: elif -关键字,固定写法 结构中elif可以根据情况有1个或多个;else也可以根据情况或没有。 """
-
用法:
grade = float(input('请输入你的成绩:')) if 0 <= grade < 60: print('成绩为F') elif 60 <= grade < 70: print('成绩为D') elif 70 <= grade < 80: print('成绩为C') elif 80 <= grade < 90: print('成绩为B') elif 90 <= grade <= 100: print('成绩为A') else: print('数据有误!') """ 请输入你的成绩:110 数据有误! """
-
执行过程:从上往下依次执行,执行到成立的条件,执行相应的代码块后,跳出分支结构。没有成立的条件,有else执行else里面的代码块,没有else不执行任何代码块,直接跳出分支结构。
-
pass
-
当空语句,是为了保持程序结构的完整性。
-
pass 不做任何事情,一般用做占位语句。
循环结构
python中实现循环的方式:for
、while
-
for循环:
-
语法:
""" for 变量 in 序列: 循环体 说明: for - 关键字,固定写法 变量 - 可以是已经赋值过的对象,也可以是没有赋值过的变量 in - 关键字,固定写法 序列 - 任何容器型数据类型的数据;`字符串`、`列表`、`元组`、`集合`、`字典`、`迭代器`、`生成器`、range…… : - 固定写法 循环体 - 和for保持一个缩进的一条或者多条语句;(需要被重复执行的 一条或多条语句) """
-
执行过程:让变量去序列中取值,一个一个的取,去完位置,每取一个值执行依次循环体。(for 循环的循环次数,由序列中元素的个数决定)
-
range函数:
- 用来产生指定范围内的数字序列
rang(n)
:产生0~(n-1)的数字序列rang(m,n)
:产生m~(n-1)的数字序列(左开右闭区间)- range(m,n,step):
step
步长,默认为1。
while循环:
-
语法:
""" while 条件语句: 循环体 说明: while - 关键字,固定写法 条件语句 - 任何有结果的表达式;独立的数据,运算表达式(不能有赋值运算),函数调用表达式 : - 固定写法 循环体 - 和while保持一个缩进的一条或多条语句;需要重复执行的语句; """
-
- 执行过程:先判断条件语句是否为True,如果为True就执行依次循环体,执行完再判断条件语句是否为True,为True再执行循环体,以此类推,直到条件不成立为止。
-