3.Python基础之流程控制
文章目录
- Python基础之流程控制
- 顺序结构
- 分支(选择)结构
- 单项分支
- 双项分支
- 多项分支
- 巢状分支
- 循环结构
- while
- for ... in
- (字典的特殊使用)[https://blog.csdn.net/yaoyuanna/article/details/126009259]
- 流程控制语句
- break
- continue
- pass
Python基础之流程控制
流程分类: 流程控制一共分为三类,分别是 顺序结构、分支(选择)结构、循环结构。
顺序结构
顺序结构就是代码一种自上而下执行的结构,这是Python默认的流程。
分支(选择)结构
分支结构一共分为4类,分别是 单项分支、双项分支、多项分支、巢状分支
单项分支
格式:
if 1 < 5:
print('条件为真输出我')
特征:
if条件表达式结果为真,则执行if之后所控制的代码组,如果为假,则不执行后面的代码组
冒号:之后下一行的内容必须缩进,否则语法错误
if之后的代码中如果缩进不一致,则可能缩进不一致的代码不会受到if条件表达式的控制
冒号:后面的代码是在条件表达式结果为真的情况下执行,所以称之为真区间 或 if区间
双项分支
格式:
if 1 < 5:
print('条件为真输出我')
else:
print('条件为假输出我')
特征:
双项分支有两个区间,分别是 True控制的if区间 和 False控制的else区间
if区间的内容在双项分支中必须缩进,否则语法错误
多项分支
格式:
if 1 > 5:
print('如果1 > 5,我会被输出')
elif 9 < 8:
print('如果9 < 8,我会被输出')
else:
print('如果以上两条都不成立,我会被输出')
特征:
多项分支可以添加无限个elif分支,无论如何,只会执行众多分支的其中一个
执行完一个分支后,分支结构就会结束,后面的分支都不会判断,也不会执行
多项分支的判断顺序是自上而下逐个分支进行判断的。
巢状分支
格式:
if 1 < 5:
print('1真的小于5哦')
if 3 < 9:
print('如果3 < 9,我会被输出')
else:
print('如果上面条件不成立,我会被输出')
特征:
巢状分支是其他他分支结构的嵌套结构,无论哪个分支都可以嵌套
循环结构
循环结构可以减少源程序重复书写的工作量(代码量),用来描述重复执行某段算法的问题。
Python中循环结构分为两类,分别是 while 和 for … in
while
格式1:
num1,num2 = 3,5
while num1 < num2:
print('如果条件成立,会进入循环体,我所处的这块区域,就是循环体')
num1 += 1 #控制循环条件中的变量,否则进入死循环
死循环: 死循环就是循环不会终止的循环类型,设置条件永远为True来实现,但非常占用资源
格式2:
num1,num2 = 3,5
while num1 < num2:
print('如果条件成立,会进入循环体')
num1 += 1
else:
print('条件不成立时,我会被输出')
注意: while循环中的else是在while条件表达式为假的情况下执行的代码内容
for … in
**for 变量 in 容器:**用于遍历容器类的数据(字符串,列表,元组,字典,集合)
格式1:
user_list = ['小明','小红','小强','小军']
for val in user_list:
print(val)
格式2:
data = ('a','alibaba'),('b','baidu'),('c','changhong')
for k,v in data:
print(k,'======>',v)
使用格式2请注意: 要求遍历的容器必须是以下几种格式
[(),(),()] 列表中有元组
[[],[],[]] 列表中有列表
((),(),()) 元组中有元组
{(),(),()} 集合中有元组
(字典的特殊使用)[https://blog.csdn.net/yaoyuanna/article/details/126009259]
方法一:通过遍历key值遍历字典
my_dict = {
"小明":80,
"小强":90,
"小刚":100
}
#通过 for key in dict 可以获取字典中所有的键
for key in dict:
print(key,":",my_dict[key])
#输出结果
小明:80
小强:90
小刚:100
方法二:遍历key值
my_dict = {
"小明":80,
"小强":90,
"小刚":100
}
#字典中自带keys()方法获取所有的key
keys = my_dict.keys()
for key in keys:
print(key)
#输出结果
小明
小强
小刚
方法三:遍历value值
my_dict = {
"小明":80,
"小强":90,
"小刚":100
}
#字典中自带values()方法获取所有的value
values = my_dict.values()
for value in values:
print(value)
#输出结果
80
90
100
方法四:遍历字典项
my_dict = {
"小明":80,
"小强":90,
"小刚":100
}
#字典中提供items()方法可以获取字典中的所有键值对
items = my_dict.items()
for item in items:
print(item)
#输出结果
("小明",80)
("小强",90)
("小刚",100)
方法五:通过字典项遍历key和value
my_dict = {
"小明":80,
"小强":90,
"小刚":100
}
for key,value in my_dict.items():
print(key,":",value)
#输出结果
小明:80
小强:90
小刚:100
格式3:
data = ('a','b','c','d','e')
for v in data:
print(v)
else:
print('我else区间又来啦!')
循环结束时执行else区间的代码
流程控制语句
break
作用:在循环中break的作用是终止当前循环结构的后续所有操作,一点程序运行了break,循环也就终止了。
for i in range(0,10):
if i==5:
break
print(i)
continue
作用:在循环中continue的作用是跳过本次循环,开始下一次循环。continue执行之后本次循环的后续代码不再执行,直接进入下一次循环。
for i in range(0,10):
if i==5:
continue
print(i)
pass
作用:pass是没有任何意义的空语句,主要用来占位用,避免语法错误。