Python 基础之循环结构for及break pass continue
一.for 循环
#循环 变量 迭代 都是一个意思
#把列表里面的元素意义的拿出来就是遍历
listvar = ["one","two","three","four","five","six"]
#用len获取列表的长度
res = len(listvar)
print(res)
1.通过while 的遍历来介绍for
例:
i = 0
while i < len(listvar):
# "0 1 2 3 4 5"
res = listvar
print(res)
i+=1
setvar = ["one","two","three","four","five","six"]
#while 循环有它的局限性,不能够变量集合这样的数据类型
#所以for循环应用而生 特指用来遍历的
'''
i = 0
while i < len(setvar):
res = setvar[i]
print(res)
i+=1
'''
2.for 语法
代码解析:
把容器类型数据里面的每一个元素,后期我们还学迭代器 生成器 range对象
for 变量 in 可迭代的对象:
print(变量)
代码解析:
把容器类型数据类目的每一个元素,依次的拿出来赋值变量i
知道所有数据依次遍历完毕退出循环
#遍历列表
container = ["one","two","three","four","five","six"]
#遍历元组
container =("one","two","three","four","five","six")
#遍历集合
container = {"one","two","three","four","five","six"}
#遍历字典
container ={'top':'剑圣','middle':'狐狸','bottom':'德莱文'}
#变量字符串
container = "我爱你亲爱的菇凉,见到你我就心慌"
for i in container:
print(i)
3.使用for遍历等长的二级容器
listvar = [("王林","王思思","王美丽"),["马云","马花","马思"],["王宝","马宝","宋小宝"] ]
#变量的解包
a,b = 1,2
print(a,b)
a,b =[3,4]
print(a,b)
a,b = {5,6}
print(a,b)
print("7777777777777777777777777777")
for a,b,c in listvar:
"""
a,b,c ("王林","王思思","王美丽")
a,b,c ["马云","马花","马思"]
a,b,c ["王宝","马宝","宋小宝"]
"""
print(a,b,c)
listvar = [(1,2),[3,4],[5,6]]
for a,b in listvar:
print(a,b)
4.使用for遍历不等长的二级容器
listvar = [("王林","王思思"),["马花","马美丽"],["王宝","宋小宝"] ]
for i in listvar:
for j in i :
print(j)
5.range对象
#语法:
range(start,end,step)
start : 开始值
end :结束值
step:步长
使用方式和切片语法类似,高位end那个值取不到,取到end之前的那个值
#1个参数的情况 range(5) => 0 1 2 3 4 默认0开始 高位5取不到,最大取到4
print(range(5),type(res))
res = list(range(5))
print(res)
for i in range(5):
print(i)
#2个参数的情况
for i in range(3,10):
print(i)
#(33个参数的情况 2 4 6 8 10
#正序
for i in range(2,11,2):
print(i)
#倒序
#打印9~1 9 8 7 6 5 4 3 2 1
for i in range(9,0,-1):
print(i)
二.关键字:break pass continue
1.pass 过 作用:做占位符使用
if 5 == 5:
pass
i = 0
while i < 10:
pass #约定俗成,在循环里面什么也不行的情况下,给予友好提示
i+=1
2.break 终止当前循环
(只能用于循环当中)
'''打印1~10,如果遇到5终止循环'''
i=1
while i <=10:
if i == 5:
break
print(i)
i+=1
#break 终止当前循环,外面循环一次,里面循环三次,只不过当j=3的时候,循环终止了
i = 1
while i<=3:
j = 1
while j<=3:
if j == 3:
break
print(i,j)
j+=1
i+=1
#1,1 1,2 2,1 2,2 3,1 3,2
3.continue 跳过当前循环,从下一次循环开始
例:
#打印1~10 不打印5
i = 1
while i <= 10:
if i == 5:
i +=1 #要小心跳过循环之后,后面的代码不执行,从循环开始在执行
continue
print(i,end=" ") #让它打印一行并且空格
i+=1
例:
#打印1~100 所有不含4的数字
#解析:
98 如果取出98的各位数和十位数
8 => 98 % 10 => 8
9 =>98 // 10 => 9
通过地板除 // 可以获得一个数的高位
通过取余 % 可以获取一个数的低位
#第一个方法
i = 1
while i<100:
if i // 10 == 4 or i % 10 == 4:
i += 1
continue
print(i)
i+=1
#第二个方法
i=1
while i <= 100:
num = str(i)
if '4' in num:
i+=1
continue
print(i)
i+=1