python3中多层for循环中的break、else语句
在多层for循环中,break语句只会停止自己本层的循环,不会停止外层循环,
若break语句未执行,则在本层for循环执行完成后,执行本层的else语句,
若break语句执行,则中止本层循环,且不执行else语句。
示例1:
for i in range(1,4):
for j in range(4,7):
if i == 1:
break
print(i,j,end=" ")
else:
print("j")
else:
print("i")
结果如下:
2 4 2 5 2 6 j
3 4 3 5 3 6 j
i
示例2:
for i in range(1,4):
for j in range(4,7):
if j == 5:
break
print(i,j,end=" ")
else:
print("j")
else:
print("i")
结果如下:
1 4 2 4 3 4 i
注意内层for循环中的if条件,第一个if条件中为外层传入内层的“i == 1”时,执行break语句,当i为2和3时,内层完整的进行了循环,执行了内层else语句;
第二个if条件中为内层的“j == 5“时,执行break,内层函数无法完整循环,仅执行了外层else语句。
注:
for循环中的else语句并未缩进,与for平行。