流程控制语句分类
1).顺序结构
2).判断结构
3).循环结构
判断结构
特点:如果 ... 否则 ...
格式一:
①
if 条件表达式:
语句块
②
格式二:
①
if 条件表达式:
语句块1
else:
语句块2
②
格式三:
①
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
elif 条件表达式3:
语句块3
...
else:
语句块n
②
循环结构
分类:1).while、2).for ... in ...
1.while循环:
理解:有四要素组成
①.初始化条件(执行一次):就是一个起点(起始值),代码的体现就是定义一个变量记录初始值
②.循环条件(可能执行一次或多次):循环到底是继续还是结束,由它把控;如果执行结果为 True,则循环继续;反之,循环结束
③.迭代条件(可能执行0次或多次):不断的去改变起始值,以达到控制循环次数的目的
④.循环体(可能执行0次或多次):需要重复执行的逻辑代码
格式:
①
while ②:
④
③
⑤
执行流程:① -> ② -> ④ -> ③ -> ② -> ④ -> ③ -> ② -> ⑤
else语句配合循环使用:
特点:如果循环是正常执行完毕,那么else中的代码一定会被执行; 如果循环是由于break关键字而强行终止,那么else中的代码就不会被执行
1 i = 1 2 while i <= 10: 3 if i == 5: 4 break 5 print(i) 6 i += 1 7 else: 8 print(‘一旦遇到牛逼break我就不会被执行‘)
2.for ... in循环:
格式:
for 变量 in 容器对象:
语句块
执行流程:1.遇到for关键字将容器对象中的第一个元素给到变量,执行语句块; 2.再将容器对象中的第二个元素给到变量,执行语句块; 3.以此类推...; 4.直到容器对象中最后一个元素也被获取过了,执行完语句块,整个for...in循环就结束了
使用场景:
场景一:for循环配合range对象使用
1).通过执行完毕range()函数返回给程序一个range对象,此对象是一个惰性序列对象(显示不清晰),可以使用遍历的思想去查看其内容,也可以将其转换为list、tuple等类型再进行运算;
2).它仍然是一个容器对象,有容量/长度,有索引(index),可以通过变量名配合下标访问容器中的元素,格式: range([start],end,[step]),解析参数:start:起始数据,默认从0开始;end:结尾数据;step:步长;特点:含头不含尾 --> [start,end)。
1 r = range(1,5) 2 print(r,type(r),len(r)) 3 r = range(10) 4 # 遍历r对象 5 for i in r: 6 print(i,end=" ")
也可以将range对象转换为其它的容器对象(例如:list),然后在执行遍历操作:
1 r = range(1,11) 2 print(r,type(r),len(r)) 3 lt = list(r) 4 print(lt,type(lt),len(lt)) 5 # 使用while循环遍历range对象: 6 i = 0 7 while i < len(r): 8 print(r[i]) 9 i += 1
场景二:for循环配合容器对象使用
配合容器对象(str、list、tuple、dict、set)使用
1 # 配合list&str类型使用: 2 lt = [10,20,30,40,50] 3 for i in lt: 4 print(i,end=" ") 5 print() 6 7 str1 = "abcdefg12345$%!" 8 for j in str1: 9 print(j,end=" ") 10 print() 11 12 # 配合dict对象使用: 13 dic1 = {‘name‘:‘韩梅梅‘,‘age‘:25,‘height‘:165.0} 14 #通过键找到值 15 for k in dic1: 16 print(k + "-->" + str(dic1.get(k)))
嵌套循环
循环中再定义循环,就是嵌套循环;
【注意】:嵌套循环不是两层循环,两层循环是嵌套循环,在之后开发过程中,99%的情况两层就够了;不应该出先3,4层
格式模板:
while 中嵌套 while
while 中嵌套 forin
forin 中嵌套 while
forin 中嵌套 forin
格式:
for i in seq1: # 外层循环
语句块1
for j in seq2: # 内层循环
语句块2 # 内存循环的循环体
原文地址:https://www.cnblogs.com/bonheur/p/11924016.html