Python流程控制结构
程序的组织结构
- 1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基础结构组合而成
顺序结构
- 程序从上到下顺序进行执行代码,中间没有任何的判断和跳转,直到程序结束
对象的布尔值
- Python一切皆对象,所有的对象都有一个布尔值
- 获取对象的布尔值使用内置函数bool()
- 以下对象的布尔值为False
- False
- 数值()
- None
- 空字符串
- 空列表
- 空元组
- 空字典
- 空集合
# 测试对象的布尔值
print(bool(False)) #False
print(bool(0)) #False
print(bool(None)) #False
print(bool([])) #列表
print(bool({})) #空字典
print(bool('')) #False
print(bool(())) #空元组
选择结构
- 程序根据判断条件的布尔值选择性的进行执行部分代码,明确的让计算机在什么条件下,该去做什么
以取款过程为例
单分支结构
- 中文语义:如果…就…
- 语法结构:
if 条件表达式:
条件执行体
双分支结构
- 中文语义:如果…不满足…就…
- 语法结构:
if 条件表达式:
条件执行体1
else:
条件执行体2
多分支结构
- 中文语义:…是…不是…不是…则是…
- 语法结构:
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
elif 条件表达式N:
条件执行体N
[else:]
条件执行体N+1
嵌套if
语法结构:
if 条件表达式1:
if 内层条件表达式:
内存条件执行体1
else:
内存条件执行体2
else:
条件执行体
条件表达式
- 条件表达式是if…else的简写
- 语法结构
x if 判断条件 else y
- 运算规则
如果判断条件的布尔值为True,条件表达式的返回值为x,否则条件表达式的返回值为False
Pass语句
- pass语句什么都不做,只是一个占位符,用在无法上需要语句的地方
- 什么时候使用:先搭建语法结构,还没想好代码怎么写的时候
- 哪些语句一起使用
- if语句的条件执行体
- for-in语句的循环体
- 定义函数时的函数体
Range()函数的使用
内置函数range()
- range()函数
- 用于生成一个整数序列
- 创建range对象的三种方式
- 返回值是一个迭代器对象
- range类型的优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间是一样的,因为仅仅需要存储start、stop和step,只有当用到range对象时,才会去计算序列中的相关元素
- in与not in 判断整数序列中是否存在(不存在)指定的整数
循环结构
- 反复做同一件事情的情况,称为循环
- 循环结构的流程图
- 循环的分类
- while
- for -in
- 语法结构
while 条件表达式:
条件执行体(循环体)
- 选择结构的if与循环结构while的区别
- if是判断一次,条件是为True执行一次
- while是判断N+1次,条件为True执行N次
While循环
- 四步循环法
- 初始化变量
- 条件判断
- 条件执行体
- 改变变量
- while循环的执行流程
For-in循环
- for-in循环
- in表达从(字符串、序列等)中依次取值,又称为遍历
- for-in遍历的对象必须是可迭代的对象
- for-in的语法结构
for 自定义的变量 in 可迭代对象 :
循环体
- for-in的执行图
- 循环体内不需要访问自定义变量,可以将自定义变量替换为下划线
流程控制语句Break
- break语句:用于结束循环结构,通常与分支结构if一起使用
流程控制语句Continue
- continue语句:用于结束当前循环,进入下一次循环,通常与分支结构if一起 使用
else语句
else语句:与else语句配合使用的三种情况
嵌套循环
循环结构中又嵌套了另外的完整的循环结构,其中内层循环作为外层循环的循环体执行
例子:实现九九乘法表
for i in range(1,10):
for j in range(0,i):
print(str(i)+'*'+str(j+1)+'='+str(i*(j+1)),end=' ')
print("\n")
二重循环中的break和continue
- 二重循环中的break和continue用于控制本层循环
04204281)]
例子:实现九九乘法表
for i in range(1,10):
for j in range(0,i):
print(str(i)+'*'+str(j+1)+'='+str(i*(j+1)),end=' ')
print("\n")
二重循环中的break和continue
- 二重循环中的break和continue用于控制本层循环