流程控制
流程:计算机执行代码的顺序就是流程。
流程控制:对计算机代码执行顺序的管理就是流程控制。
流程控制一共分为三类:
- 顺序结构
- 分支结构/选择结构
- 循环结构
顺序结构
顺序结构就是代码一种自上而下执行的结构,是Python默认的流程。
分支/选择结构
分支结构一共分为四类:
- 单项分支
- 双项分支
- 多项分支
- 巢状分支
单项分支
格式:
if 条件表达式:
一条Python语句
一条Python语句
一条Python语句
... ...
特征:
- if条件表达式结果为真,则执行if之后所控制的代码组,如果为假,则不执行后面的代码组
- :之后下一行的内容必须缩进,否则语法错误
- if:后面的代码是在条件表达式结果为真的条件下执行的,所以称之为真区间或者if区间
Linlin = 'love'
if Linlin == 'love':
print('刚他!直接刚!')
Linlin = 'hate'
if Linlin == 'love':
print('刚他!直接刚!')
双项分支
格式:
if 条件表达式:
一条Python语句
一条Python语句
一条Python语句
... ...
else:
一条Python语句
一条Python语句
一条Python语句
... ...
特征:
- 双项分支有2个区间:True控制的if区间和False控制的else区间
- :之后下一行的内容必须缩进
Linlin = "男"
if Linlin == "男":
print('刚他!使劲刚!')
else:
print('亲她!')
多项分支
格式:
if 条件表达式:
一条Python语句
一条Python语句
一条Python语句
elif:
一条Python语句
一条Python语句
一条Python语句
elif:
一条Python语句
一条Python语句
一条Python语句
else:
一条Python语句
一条Python语句
一条Python语句
... ...
特征:
- 多项分支可以添加无限个elif分支,如论如何只会执行一个分支
- 执行完一个分支后,分支结构就会结束,后面的分支都不会判断也不会执行
- 多项分支的判断是自上而下逐个分支进行判断
注意:Python没有switch...case分支
巢状分支
# 使用巢状分支完成你的欲望
#搭讪阶段
dashan = False#True:香奈儿,False:花生米
#吃饭阶段
chifan = False#True:愿意,False:不愿意
#牵手阶段
lashou = False#True:愿意,False:不愿意
#看夜场电影阶段
kandianying = False#True:愿意,False:不愿意
#没羞没臊阶段
meixiumeisao = False#True:愿意,False:不愿意
#搭讪阶段
if dashan == True:
print('你真是个心的善良的人!')
#吃饭阶段
if chifan == True:
print('愿意吖,我最喜欢6块钱的麻辣烫了!')
#拉手阶段
if lashou == True:
print('你的手真温柔!')
if kandianying == True:
print('这个电影真好看!')
if meixiumeisao == True:
pass
else:
pass
else:
print('没想到你是这样的人!凑变态!')
else:
print('你干啥呀!别碰我!')
else:
print('不好意!我有约会了!')
else:
print('滚犊子!')
循环结构
循环结构就是为了将相似或者相同的代码操作变得更加简洁,使得代码可以重复利用。
循环结构分为两类:
- while循环
- for...in...循环
#循环结构
print('小明,亲了小红一口。')
print('小明,亲了小红一口。')
print('小明,亲了小红一口。')
print('小明,亲了小红一口。')
print('小明,亲了小红一口。')
num = 0
while num < 5:
print('小明,亲了小红一口。')
num += 1
for i in range(5):
print('小明,亲了小红一口。')
while循环
格式1:
while 条件表达式:
循环的内容
[变量的变化]
#声明一个计数的变量
num = 0
#循环结构
while num < 100:
print(num, end=' ')
#计数变量的修改
num += 1
#计算1-100的和
#计数变量
num = 1
#求和变量
total = 0
#开始循环
while num <= 100:
total = total + num
#改变计数变量
num += 1
# print(total)
print(total)
#打印10行‘★★★★★★★★★★’
row = 0
while row < 10:
#打印一行10列★
col = 0
while col < 10:
print('★', end='')
#改变计数变量(列)
col += 1
#换行
print('')
#改变计数变量(行)
row += 1
#作业:打印一个10行10列的隔行变色的五角星
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
☆☆☆☆☆☆☆☆☆☆
★★★★★★★★★★
格式2:
while 条件表达式:
循环的内容
[变量的变化]
else:
Python语句....
注意:while循环中的else是在while条件表达式为假的情况下执行的代码内容,一般用于判断起始条件是否为假等相关操作。
num = 0
while num < 5:
print('小明,亲了小红一口。')
num += 1
else:
print('判断条件为假')
死循环
一直执行的循化就是死循环。
while True:
print('')
遍历容器数据
girls = ['张哆来', '王咪发', '李索拉']
#循环
index = 0
while index < len(girls):
print(girls[index])
index += 1
for...in循环
for...in循环用于遍历容器类的数据(字符串、列表、元组、字典、集合)
格式:
for 变量 in 容器:
Python代码,可以再此使用变量
#列表
girls = ['张哆来', '王咪发', '李索拉']
for name in girls:
print(name)
#集合
girls = {'张哆来', '王咪发', '李索拉'}
for name in girls:
print(name)
#字典:使用单个循环遍历字典,只会获取字典里的键
heros = {'呼保义':'宋江', '智多星':'吴用', '黑旋风':'李逵', '九纹龙':'史进'}
for nickname in heros:
print(nickname)#获取字典的键
print(heros[nickname])
#类字典数据的遍历(同时遍历键和值)
heros = {'呼保义':'宋江', '智多星':'吴用', '黑旋风':'李逵', '九纹龙':'史进'} #-->[['呼保义','宋江'], ['智多星','吴用'], ['黑旋风','李逵'], ['九纹龙','史进']]
for nickname,name in heros.items():
print(nickname, name)
break语句
break 破坏、结束、打破
作用:在循环中break的作用是终止当前循环结构的后续操作,一旦程序运行break,循环也就终止了!!
#程序运行到44就停止
i = 0
while i < 100:
if i == 44:
break
print(i)
i += 1
continue语句
continue 继续
作用:在循环中continue作用是跳过本次循环,开始下一次循环操作,continue执行之后当前循环的后续代码就不会再执行,直接进行下一次循环(主要用于数据过滤)。
#程序运行到44就跳过
i = 0
while i < 100:
if i == 44:
i += 1
continue
print(i)
i += 1