流程控制

  • 顺序执行: 从上往下依次执行。(默认)
  • 分支结构: 根据条件选择性的执行或不执行某段代码。
  • 循环结构: 让指定的代码重复执行。

分支结构

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中实现循环的方式:forwhile

  • for循环:
  • 语法:
"""
for 变量 in 序列:
	循环体
说明:

for - 关键字,固定写法

变量	-	可以是已经赋值过的对象,也可以是没有赋值过的变量
  in	-	关键字,固定写法
序列	-	任何容器型数据类型的数据;`字符串`、`列表`、`元组`、`集合`、`字典`、`迭代器`、`生成器`、range……
  :	- 	固定写法
循环体	- 和for保持一个缩进的一条或者多条语句;(需要被重复执行的 一条或多条语句)
"""
  • 执行过程: 让变量去序列中取值,一个一个的取,去完位置,每取一个值执行依次循环体。(for 循环的循环次数,由序列中元素的个数决定)

range函数:

  1. 用来产生指定范围内的数字序列
  2. rang(n):产生0~(n-1)的数字序列
  3. rang(m,n):产生m~(n-1)的数字序列*(左开右闭区间)*
  4. range(m,n,step):step步长,默认为1。

while循环:

  • 语法:
"""
while 条件语句:

  		循环体

说明:
while	-	 关键字,固定写法
条件语句	-	任何有结果的表达式;独立的数据,运算表达式(不能有赋值运算),函数调用表达式
:	-	固定写法
循环体	-	和while保持一个缩进的一条或多条语句;需要重复执行的语句;
"""
  • 执行过程:先判断条件语句是否为True,如果为True就执行依次循环体,执行完再判断条件语句是否为True,为True再执行循环体,以此类推,直到条件不成立为止。