一.关键字的使用 pass break continue
<1>pass 过(占位)
if 10 == 10:
print(123)
while True:
pass
<2>break 终止当前循环
①打印1~10 遇到5就终止循环
i = 1
while i <=10 :
if i == 5:
break
print(i)
i+=1
②break 终止的是当前循环
i = 1
while i <= 3:
j = 1
while j<=3:
if j == 2:
break
print(i,j)
j+=1
i+=1
<3>continue 跳过当前循环,从下一次循环开始
①打印1~10 跳过5
i = 1
while i<=10:
if i == 5:
# 需手动自增加1. 当执行continue时,后面的代码不执行,跳到while循环的条件判断处,会造成死循环
i+=1
continue
print(i)
i+=1
②打印1~ 100 所有不含有4的数字
方法一:
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:
strvar = str(i)
if "4" in strvar:
i+=1
continue
print(i)
i+=1
二.for循环
<1>遍历,循环,迭代
lst = ["aaa","bbb","ccc","ddd"]
i = 0
while i<len(lst):
# 代码的逻辑
print(lst[i])
i+=1
for主要用于遍历数据而提出,while在遍历数据时,有局限性
for 变量 in 可迭代对象:
code1
code2
可迭代对象(容器类型数据,range对象,迭代器)
# 遍历字符串
container = "aaa,bbb,ccc"
# 遍历列表
container = ["ddd","eee","fff","hhh"]
# 遍历元组
container = (1,2,3,45)
# 遍历集合
container = {"iii","jjj","kkk","lll","mmm"}
# 遍历字典 (遍历字典时,只遍历键)
container = {"a":1,"b":2,"c":3}
for i in container:
print(i)
<2>遍历不等长的二级容器
container = [["aa","bb","cc","dd"],("ee","ff")]
for i in container:
# print(i)
for j in i:
print(j)
<3>遍历等长的二级容器
container = [("ab","ac","ad") , ("ef","eg","eh") , ("ij","ik","il") ] for x,y,z in container: print(a,b,c) # x,y,z = ("ab","ac","ad")
# x,y,z= ("ef","eg","eh")
# x,y,z = ("ij","ik","il")
<4>range对象
range(开始值,结束值,步长)
结束值本身取不到,取到结束值之前的那个数
①只有一个值 0~9
for i in range(10):
print(i)
②只有两个值
for i in range(3,11):
print(i)
③只有三个值
for i in range(1,10,3):
print(i)
④倒序打印10 ~ 1
for i in range(10,0,-1):
print(i)
三:总结
while : 较为复杂的逻辑
for : 数据的遍历
while 和 for 部分代码可以互相转换