while循环
在给定的判断条件为true时执行循环体,否则退出循环体,在循环次数不确定的场景下常用while
1.死循环
>>> while True:
... print('hi')
...
hi
hi
#crtl+c退出
2.while---else用法
while循环如果没被执行,会执行else语句
while循环被执行的话,不会执行else语句
>>> n=2
>>> while n>2:
... print('while循环被执行')
... else:
... print('while循环没有被执行')
...
while循环没有被执行
>>> n=5
>>> while n>2:
... print('while循环被执行')
... break
... else:
... print('while循环没有被执行')
...
while循环被执行
for循环
1.for----else用法
for 循环没有被执行过,会执行else语句。for循环被执行过,不会执行else语句
>>> for i in range(10):
... if i==8:
... print(i)
... break
... else:
... print('no break')
...
8
>>> for i in range(10):
... if i==11:
... print(i)
... break
... else:
... print('no break')
...
no break
break和continue的用法
break:结束当前层循环体。嵌套循环的场景:仅能跳出当前层循环(该重循环的本次及剩余次数都不再执行),但并不能跳出该层循环外的其他外层循环
continue:跳出本次循环继续执行下一次循环
>>> for i in range(10,-1,-1):
... if i==7:
... break
... print(i)
...
10
9
8
>>> for i in range(10,-1,-1):
... if i<8:
... continue
... print(i)
...
10
9
8
>>> while i<=10:
... if i==7:
... break
... print(i)
... i-=1
...
10
9
8
退出多重循环
#方法1自定义异常:
try:
for i in range(5):
for j in range(5):
if i==3 and j ==3:
raise
print (i)
except:
pass
执行结果如下:
0
1
2
#方法2 将循环封装为函数,return
def fun():
for i in range(5):
for j in range(5):
print(i,j)
if i==3 and j ==3:
return True
fun()
#方法3
for i in range(5):
for j in range(5):
for k in range(5):
if i == j == k == 3:
break
else:
print (i, '----', j, '----', k)
else: continue
break
else: continue
break