Python 循环

Python 循环

while

while 后面要跟一个条件判断句,如果条件为真,则继续执行

示例:

i = 0
while i < 3:
    print(i)
    i += 1

while ... else ...

当 while 后面的条件为 False 时,就会执行 else 中的内容

示例:

i = 0
while i < 3:
    print(i)
    i += 1
else:
    print("in else")

输出结果

0
1
2
in else

当 while 后面的条件为 True 时,即使执行到 break 也不会执行 else 中的内容

i = 0
while True:
    print(i)
    if i == 3:
        break
    i += 1
else:
    print("in else")

输出结果

0
1
2
3

for

in 后面一定要跟一个可迭代对象

什么是可迭代对象?

for i in range(3):
    print(i)

for ... else ...

当循环完整跑完,就会执行 else 中的内容

示例:

for i in range(5):
    if i == 3:
        continue
    print(i)
else:
    print("in else")

输出结果:

0
1
2
4
in else
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("in else")

输出结果:

0
1
2

如果在循环中调用 break, 则循环没有完整跑完,就不会执行 else 中的内容,但是如果调用了 continue, 循环完整跑完,会执行 else 中的内容
借助这个原理,可以实现多层循环的跳出

多层循环的跳出

示例:

for i in range(3):
    for j in range(3):
        if i == 1 and j == 2:
            break
        print(i, j)

输出结果:

0 0
0 1
0 2
1 0
1 1
2 0
2 1
2 2

如果在内层循环里面 break 只能结束内存循环,无法结束外层循环

示例:

for i in range(3):
    for j in range(3):
        if i == 1 and j == 2:
            break
        print(i, j)
    else:
        continue
    break

输出结果:

0 0
0 1
0 2
1 0
1 1

内层循环的 break 导致 else 中的 continue 没有被执行,而是执行到了外层循环的 break, 外层循环提前结束

posted on 2021-08-13 18:55  doubtful  阅读(76)  评论(0编辑  收藏  举报

导航