if,for,whileなどから抜け出したい(break)


概要



break

を書くとそこでループ処理から抜け出す


a = 1
while a <= 10:
    print(a)
    if a == 7:
        break
    a = a + 1

変数aに1を入れる
aが10以下の間は以下を繰り返せ
    aを出力せよ
    もしaが7であれば
        このwhile繰り返しを終了せよ
    aに1を足す

出力


1
2
3
4
5
6
7

説明


forやwhileのような繰り返しから脱出できる
繰り返しで使わないとあまり意味がない

間違えやすい問題


繰り返しの中にさらに繰り返しがある場合
breakは今繰り返している部分しか脱出しない
たとえば

for a in range(3): #aを0,1,2と繰り返し
    for b in range(5): #bを0,1,2,3,4と繰り返し
        print(a,b)
        if b == 2: #bが2なら脱出
            break

の出力は

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

となる。breakは

for b in range(5):

にだけ効いており

for a in range(3):

には効いていない