4.python流程控制语句介绍

时间:2024-05-30 12:03:38

流程控制语句分类

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中的代码就不会被执行

 i = 1
while i <= 10:
if i == 5:
break
print(i)
i += 1
else:
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)。

 r = range(1,5)
print(r,type(r),len(r))
r = range(10)
# 遍历r对象
for i in r:
print(i,end=" ")

也可以将range对象转换为其它的容器对象(例如:list),然后在执行遍历操作:

 r = range(1,11)
print(r,type(r),len(r))
lt = list(r)
print(lt,type(lt),len(lt))
# 使用while循环遍历range对象:
i = 0
while i < len(r):
print(r[i])
i += 1

场景二:for循环配合容器对象使用

配合容器对象(str、list、tuple、dict、set)使用

 # 配合list&str类型使用:
lt = [10,20,30,40,50]
for i in lt:
print(i,end=" ")
print() str1 = "abcdefg12345$%!"
for j in str1:
print(j,end=" ")
print() # 配合dict对象使用:
dic1 = {'name':'韩梅梅','age':25,'height':165.0}
#通过键找到值
for k in dic1:
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                      # 内存循环的循环体