Python 如何中断for循环
在Python中,通常使用for循环 来迭代一个范围内的每个项目的块。如果希望在所有迭代完成之前提前终止循环,则可以使用break关键字。它通常在循环体内的条件语句中使用。
使用break语句
让我们来看几个示例,了解break语句如何在for循环中工作。
示例
在这个示例中,for循环被定义为在20次循环之前进行迭代,但是break语句在第10次迭代(即x=10)时终止了for循环。
如果我们在嵌套的for循环的内部循环中应用break语句,它只会中断最内层的循环,而不会停止整个循环。
for x in range(20):
print (x)
if x==10:
break
print ("end of loop")
输出
0
1
2
3
4
5
6
7
8
9
10
例子
在这个例子中,内循环在 i = 0 和 j = 2 迭代时停止,使得该循环跳过了剩下的两次迭代(0, 3)和(0,4)。我们可以使用标志变量在特定迭代时停止整个循环。让我们看下面的例子。
for i in range(5):
for j in range(5):
print(i,j)
if i == 0 and j == 2:
print("stopping the inner loop at i = 0 and j = 2")
break
输出
0 0
0 1
0 2
stopping the inner loop at i = 0 and j = 2
1 0
1 1
1 2
1 3
1 4
2 0
2 1
2 2
2 3
2 4
3 0
3 1
3 2
3 3
3 4
4 0
4 1
4 2
4 3
4 4
示例
标志变量在迭代(0,2)处终止了嵌套循环。
flag = False
for i in range(5):
for j in range(5):
print(i,j)
if i == 0 and j == 2:
print("stopping the loops at i = 0 and j = 2")
flag = True
break
if flag:
break
输出
0 0
0 1
0 2
stopping the loops at i = 0 and j = 2
使用return语句
要打破一个for循环,我们可以使用return关键字,这里我们需要将循环放在一个函数中。使用return关键字可以直接结束函数。
示例
return关键字在(0,2)迭代时终止了嵌套的for循环。
def check():
for i in range(5):
for j in range(5):
print(i,j)
if i == 0 and j == 2:
return "stopping the loops at i = 0 and j = 2"
print(check())
结果
0 0
0 1
0 2
stopping the loops at i = 0 and j = 2