多重ループをbreakしたい時は関数化する
pythonのfor else文は、"forループが回りきったときにする処理"を規定できる。
else文でcontinueし、else文の外側にさらに文を書くとbreakしたときの処理を書くことができる。
code: forelse.py
N = 4
for i in range(N):
for j in range(N):
for k in range(N):
print(i, j, k)
if i == j == k == 2:
print("END")
break
else:
continue
break
else:
continue
break
明らかに冗長なので多重ループを抜ける処理がある時は関数化するのが一般的。
code: func.py
def check(N):
for i in range(N):
for j in range(N):
for k in range(N):
print(i, j, k)
if i == j == k == 2:
print("END")
return
check(4)