流程控制
Posted weekz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流程控制相关的知识,希望对你有一定的参考价值。
流程:代码执行的过程
流程控制:就是对代码执行的过程进行管控
流程控制的三大结构:
顺序结构: 代码从上到下,依次执行
分支结构: 4小类
分支结构: 关键字 if
(1)单项分支
(2)双项分支
(3)多项分支
(4)巢状分支
语法:
if 条件表达式:
code1
code2
...
...
如果条件表达式成立,那就是返回真True ,就会执行代码块
如果条件表达式不成立,那就是返回假False,不执行代码块
循环结构: while , for
while循环(无限循环)
特点:可以提升代码执行的效率,减少冗余代码
语法:
while 条件表达式:
code1...
code2....
如果条件表达式成立,那就返回True,执行代码块里面的内容
如果条件表达式成立,那就返回False,终止循环.
# 打印1~100;
"""
# (1) 初始化一个变量i
i = 1
# (2) 写一个循环的条件
while i<=100:
# (3) 写一个自增自减的值
i+=1
"""
i = 1
while i<=100:
print(i)
i+=1 # i = i+1
"""
代码解析:
先初始化变量i等于1
判断1 <= 100 条件为真,返回True,执行循环中的代码块
直接print(1)
让i 自增加1 变成结果2
第一次循环结束 ,回到22 循环判断的条件中
判断2 <= 100 条件为真,返回True,执行循环中的代码块
直接print(2)
让i 自增加1 变成结果3
第二次循环结束 ,回到22 循环判断的条件中
判断3 <= 100 条件为真,返回True,执行循环中的代码块
直接print(3)
让i 自增加1 变成结果4
第三次循环结束 ,回到22 循环判断的条件中
判断4 <= 100 条件为真,返回True,执行循环中的代码块
直接print(4)
让i 自增加1 变成结果5
第四次循环结束 ,回到22 循环判断的条件中
依次类推.. 直到什么时候结束?
当 i = 101 的时候
1 <= 101 条件不成立,返回False ,不执行代码块,直接循环终止;
"""
# 计算1~100的累加和?
i = 1
total = 0
while i<=100:
total += i #total = i+total
i+=1
print(total)
"""
i =1
total = 0 + 1
i+=1 => i = 2
第一次循环结束...
i = 2
total = 0 + 1 + 2
i+=1 => i = 3
第二次循环结束...
i = 3
total = 0 + 1 + 2 + 3
i+=1 => i = 4
第三次循环结束...
.... 依次类推 ,什么时候结束?
当 i = 101
发现 101 <= 100 这个条件为假 那么循环终止
此刻total = 0+1+2+3+4+... .... + 100 = 5050
"""
# 死循环
"""
while True:
print(1)
"""
# 方法二: 做1~100的累加和
print("<====>")
i = 1
total = 0
sign = True
while sign:
total += i
i+=1
if i == 101:
sign = False
print(total) # 5050
for循环(有限循环)
循环 遍历 迭代 这三个名词都是获取每一个数据的意思
for 循环专门用来遍历数据,
而while循环遍历数据有局限性,无法遍历无序容器(set集合)数据
while一般用于复杂的逻辑操作
语法:
可迭代对象:(容器类型数据,range对象,迭代器)
for i in 可迭代对象:
code..
遍历等长的二级容器
listvar = [("王健林","王思聪","王美丽"),["马云","马化腾","马冬梅"],("王宝强","马蓉","宋小宝")]
# 变量的解包
a,b = [1,2]
print(a,b)
a,b,c = (4,5,6)
print(a,b,c)
a,b = 7,8
print(a,b)
for i in listvar:
"""
(‘王健林‘, ‘王思聪‘, ‘王美丽‘)
[‘马云‘, ‘马化腾‘, ‘马冬梅‘]
(‘王宝强‘, ‘马蓉‘, ‘宋小宝‘)
"""
print(i)
for a,b,c in listvar:
print(a,b,c)
# 遍历等长的二级容器
listvar = [("王健林","王思聪","王美丽"),["马云","马化腾"],("王宝强",)]
for i in listvar:
for j in i:
print(j)
# range对象
"""
range(start,end,step)
start 开始值
end 结束值 (最大值取不到,取到之前的那个值)
step 步长
"""
# 1.range中只有一个值
for i in range(10):
print(i)
# 2. range中有二个值
for i in range(1,9):
print(i)
# 3. range中有三个值 正向值
for i in range(1,15,3):
# 1 4 7 10 13
print(i)
print("<=============>")
# 3. range中有三个值 逆向值
for i in range(15,0,-3):
# 1 4 7 10 13
print(i)
以上是关于流程控制的主要内容,如果未能解决你的问题,请参考以下文章