遍历循环的高级用法(好简单...)

1.遍历循环 for
2.无限循环while
3.循环控制保留字break continue
4.循环的高级用法else

1.遍历循环

从遍历结构中逐一提取元素,放在循环变量中
由保留字 forin 组成,完整遍历所有元素后结束
每次循环,所获得元素放入循环变量,并执行一次语句块
for <循环变量> in <遍历结构>:
    <语句块>

1.1计数循环

for i in range(3):
    print(i,end="")  

细节讲解

end="" 的意思为不换行 
end="," 意思为每个打印末尾添加,,不换行  
print()函数默认自动换行

输出

 0 1 2

1.2计数循环

for i in range(1,5):
    print(i,end="")

输出

 1 2 3 4

1.3计数循环

for i in range(1,5,2):
    print(i)

输出

1 3

细节讲解

第三个参数为<步长> 每隔多少个的意思

1.4字符串遍历循环

字符串有多少个就遍历循环多少次

for i in <字符串>:
    <语句块>
num = 0
for i in "abc":
    print(i,end="")
    num = num +1
    print(num,end="")

输出结果为

a 1 b 2 c 3

1.5列表遍历循环

for item in ls:
    <语句块>

ls是一个列表,遍历其每个元素,把每个元素放到item变量中,产生循环
***这里的item变量也可以是i只是一个变量名字与命名无关

ls =[123,"py",456]
num1 = 0
for i in ls:
    print(i,end="<-列表里面的元素")
    num1 = num1+1
    print(num1) 

输出结果

123<-列表里面的元素1
py<-列表里面的元素2
456<-列表里面的元素3

1.6文件遍历循环

for line in file:
    <语句块>
file = open('book3.txt','rb')
# 得到的数据类型为<class '_io.BufferedReader'>

详细讲解

# 打开文件 book3.txt 读取方式为 rb 并且命名为file               
# 因为本py脚本文件与book3.txt文件处于同一个文件目录下,所以不用添加指定盘符路径
# 采用rb模式打开文本,因为文本里面存在中文,目的避免出现乱码
# 注意 open()函数里面的参数都需要添加引号

为了防止出错,可以使用readlines()函数

file1 = file.readlines()

readlines()函数,的意思是把file里面的所有行都读取到 变量file1 里面 自动转换为列表模式<class 'list'>
有多少行就遍历多少次
lineDecode = line.decode("UTF-8")的意思为把该变量中的数据用UTF-8的格式来读取解码,因为我的文件里面有中文,不然它原本的二进制文件显示的时候会报错

file = open('book3.txt','rb')
num2 = 0
for line in file:
    lineDecode= line.decode("UTF-8")
    num2 = num2 +1
    print(lineDecode)
    print(num2)

2无限循环

2.1由条件控制的循环运行方式

while < 条件 > :
    <语句块>
    担负执行语句块,直到条件不满足时结束

2.2无限循环的条件

以下代码仅执行三次

a1 = 3
while a1>0:
    a1=a1-1
    print(a1)

以下代码无限次执行

a2 = 3
while a2 >0:
    a2 = a2 +1
    print(a2)

python环境下按Ctrl+c可以退出循环(也可以关闭cmd)

3循环控制保留字break continue

break 跳出并且结束当前整个循环,执行循环后的语句
continue 结束当次的循环,继续执行后续次数循环

a3 = 10
for i in "Luichun":
    if i =="c":
        continue
    a3 = a3 + 1
    print(i,a3)

上面的代码意思为:当遇到字符串等于c的时候就忽略当次的循环,直接到下一轮的循环

a4 = 10
for i in "Luichun":
    if i =="c":
        break
    print(i)

上面的代码意思为;当遇到字符串等于c则直接停止剩余的循环,结束整个循环
当有多个循环break怎么执行?(这个循环为break最内层的循环)不对外层影响

4循环的高级用法

4.1循环与else

当循环没有被break语句退出时,执行else语句块
else语句块作为正常完成循环的奖励

for i in "dalao":
    if i =="a":
        continue
    print(i,end="")
else:
    print("正常退出")

输出结果为

dlo正常退出
for i in "dalao":
    if i =="a":
        break
    print(i,end="")
else:
    print("正常退出")

输出的结果为

d

因为循环到a的时候,条件触发剩下的就直接退出了,else语句块的也就不执行了

猜你喜欢

转载自blog.csdn.net/weixin_47021806/article/details/114702433