码迷,mamicode.com
首页 > 其他好文 > 详细

流程控制

时间:2019-07-07 17:41:47      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:代码块   var   end   效率   执行   数据   流程控制   返回   此刻   

流程:代码执行的过程

流程控制:就是对代码执行的过程进行管控

流程控制的三大结构:
顺序结构: 代码从上到下,依次执行
分支结构: 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)




流程控制

标签:代码块   var   end   效率   执行   数据   流程控制   返回   此刻   

原文地址:https://www.cnblogs.com/weekz/p/11146680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!