流程控制
python语句的分类
单行代码:一行python代码
代码块:多行语句组成的一组代码
流程控制
- 对计算机执行代码的管控
分类
1. 顺序结构
- 系统默认的程序结构,自上而下的执行
2. 分支结构/选择结构
单项分支
当条件表达式为真时,执行代码组中的内容,如果为假,不执行内容
一般结构
if 条件表达式(结果是布尔值):
一条python代码
一条python代码
一条python代码
……
示例代码
if 55 > 13:
print("This is right")
print("This is right")
print("This is right")
运行结果
This is right
This is right
This is right
双向分支
- 当条件表达式结果为真时,执行if后面的代码组的内容;如果是假,执行else后面的 代码组内容
- 真区间:当表达式结果为真时执行的区域就是真区间,也叫if区间
- 假区间:当表达式结果为假时执行的区域就是真区间,也叫else区间
- 一般结构
if 条件表达式(结果是布尔值):
一条python代码
一条python代码
一条python代码
……
else:
一条python代码
一条python代码
一条python代码
……
示例代码
if 55 > 13:
print("This is right")
print("This is right")
print("This is right")
else:
print("This is wrong")
print("This is wrong")
print("This is wrong")
运行结果
This is right
This is right
This is right
多项分支
- 无论有多少分支,只能执行一个分支,而且一旦执行某个分支,分支的结构就结束
- 一般结构
if 条件表达式(结果是布尔值):
一条python代码
一条python代码
一条python代码
一条python代码
……
elif 条件表达式:
一条python代码
一条python代码
……
elif 条件表达式:
一条python代码
一条python代码
……
elif 条件表达式:
一条python代码
一条python代码
……
……
else:
一条python代码
一条python代码
一条python代码
一条python代码
……
示例代码
week = 3
if week == 1: # 判断今天是否是周一
print('Today is Monday')
elif week == 2:
print('Today is Tuesday')
elif week == 3:
print('Today is Wednesday')
elif week == 4:
print('Today is Thursday')
elif week == 5:
print('Today is Friday')
elif week == 6:
print('Today is Saturday')
else:
print('Today is Sunday')
运行结果
Today is Wednesday
巢状结构
- 分支结构的嵌套
if 条件表达式:
代码语句
if 条件表达式:
代码语句
else:
代码语句
else:
代码语句
示例代码
xiaoqu = True
loumen = True
jiamen = True
print("走到了小区")
if xiaoqu == True:#检测小区门是否打开
print("小区门开")
if loumen == True:#检测楼门是否打开
print("楼门开")
if jiamen == True:#检测家门是否打开
print("家门开")
else:
print("家门关")
else:
print("楼门关")
else:
print("小区门关")
3. 循环结构
while 型循环
- 先判断后执行
基本结构
一般格式
while 条件表达式:#条件表达式的结果为真则执行
代码部分
代码部分
……
带有变化的结构
一般格式
声明变量var
while 进入变量var的判断:
代码内容
代码内容
……
变量var改变的操作
示例代码
var = 0#初始化变量
while var <= 10:#判断条件
print("字母")#循环代码
var += 1#变量的自增操作
for...in型循环
- 主要用于遍历容器类数据
- 一般结构
for 自定义变量 in 容器类数据:
代码内容,可以自定义变量
……
注意:
for的终止条件时所有的数据被遍历
遍历集合、元组、列表、字符串时会逐一输出所有的数据,字典只会输出键
#列表
fruit = ['苹果','榴莲','樱桃','水蜜桃','猕猴桃','西瓜']
for i in fruit:
print(i)
结果:
苹果
榴莲
樱桃
水蜜桃
猕猴桃
西瓜
#字符串
fruit = '苹果榴莲樱桃水蜜桃猕猴桃西瓜'
for i in fruit:
print(i)
结果:
苹
果
榴
莲
樱
桃
水
蜜
桃
猕
猴
桃
西
瓜
#元组
fruit = ('苹果','榴莲','樱桃','水蜜桃','猕猴桃','西瓜')
for i in fruit:
print(i)
结果:
苹果
榴莲
樱桃
水蜜桃
猕猴桃
西瓜
#集合
fruit = {'苹果','榴莲','樱桃','水蜜桃','猕猴桃','西瓜'}
for i in fruit:
print(i)
结果:
西瓜
水蜜桃
樱桃
榴莲
苹果
猕猴桃
字典
#直接遍历字典,变量仅仅获取键(目录)
fruit = {1:'苹果',2:'榴莲',3:'樱桃',4:'水蜜桃',5:'猕猴桃',6:'西瓜'}
for i in fruit:
print(i)
结果:
1
2
3
4
5
6
#专门遍历字典值(数据)
fruit = {1:'苹果',2:'榴莲',3:'樱桃',4:'水蜜桃',5:'猕猴桃',6:'西瓜'}
for i in fruit.values():
print(i)
结果:
苹果
榴莲
樱桃
水蜜桃
猕猴桃
西瓜
#专门遍历字典键(目录)
fruit = {1:'苹果',2:'榴莲',3:'樱桃',4:'水蜜桃',5:'猕猴桃',6:'西瓜'}
for i in fruit.keys():
print(i)
结果:
1
2
3
4
5
6
#同时遍历键和值
fruit = {1:'苹果',2:'榴莲',3:'樱桃',4:'水蜜桃',5:'猕猴桃',6:'西瓜'}
for k,v in fruit.items():
print(k,v)
结果:
1 苹果
2 榴莲
3 樱桃
4 水蜜桃
5 猕猴桃
6 西瓜
4. else语句的应用
分支中
和if连用
循环中
在while语句中使用else语句
一般结构
while 条件表达式:
循环语句
循环语句
...
else:
代码语句
代码语句
...
示例代码
i = 0
while i <= 10:
print("a",i)
i += 1
else:
print('end')
在for...in语句中使用else语句
一般结构
for 变量 in 容器:
循环代码
……
else:
代码语句
示例代码
fruit = {1:'苹果',2:'榴莲',3:'樱桃',4:'水蜜桃',5:'猕猴桃',6:'西瓜'}
for i in fruit:
print(i)
else:
print("not fruit")
5. 其他流程控制语句
break语句
- 主要运用于循环语句当中
- 作用:终止循环
示例代码
#输出1-100的数字,运算到44停止循环
num = 1
while num <= 100:
#判断是否是44
if num == 44:
break
print(num)
num += 1
continue语句
- 主要运用于循环语句当中
- 作用:跳过本次循环,开始下一次循环
示例代码
#输出1-100的数字,不要带有4的数字
num = 1
while num <= 100:
if num % 10 == 4 or 40 <= num <= 49:
num += 1 #注意要有加一的语句,不然程序会一直运行
continue
print(num)
num += 1
pass语句
- 占位符,保证语法不出错
示例代码
if Ture:
pass
else:
print("A")