pythonのbreakで多重ループ forから抜ける

Python for break

Python for break
Pythonのbreak文は、ループ処理を中断してループ処理から脱出できる命令であり、while文やfor文の内側の処理を終了させます。

Pythonのforをbreakで抜けるサンプルコード

break文は、for文のインデント範囲内に記述する必要があります。

break文が記述されている位置まで繰り返し処理が実行され、その後、繰り返し処理は終了します。

例えば、以下のコードは、0から9までの数をリストに格納し、リストの各要素をfor文を使用して出力します。ただし、要素の値が5の場合、break文を使用して繰り返し処理を終了します。

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for number in numbers:
    if number == 5:
        break
    print(number)

このコードは、以下の出力を生成します。

0
1
2
3
4

break文は、for文だけでなく、while文でも使用することができます。

while文でbreak文を使用すると、条件式の評価結果がTrueの場合、繰り返し処理を強制的に終了することができます。

例えば、以下のコードは、ユーザに入力された文字列が”quit”の場合、break文を使用して繰り返し処理を終了します。

while True:
    text = input("Enter a text: ")
    if text == "quit":
        break
    print(text)

このコードは、以下の出力を生成します。

Enter a text: Hello, world!
Hello, world!
Enter a text: quit

break文は、繰り返し処理を制御する上で便利な機能です。ただし、break文を誤って使用すると、予期しない動作を引き起こす可能性があるため、注意が必要です。

関連 Pythonのfor文の解説 ループを使う方法

pythonのforをbreakして、多重ループに抜けるには

Pythonのfor文でbreakを使用して、多重ループに抜けるには、以下の2つの方法があります。

1. 外側のループをbreakする

外側のループをbreakすると、内側のループも終了します。

例えば、以下のコードは、2重ループで1から10までの数を順番に出力します。ただし、3が出力された場合、外側のループをbreakして、多重ループを終了します。

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

このコードは、以下の出力を生成します。

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

2. continueを使用して、内側のループを抜ける

continueを使用すると、内側のループの現在のループ処理をスキップして、次のループ処理に進みます。

例えば、以下のコードは、2重ループで1から10までの数を順番に出力します。ただし、3が出力された場合、内側のループをcontinueを使用して抜け、外側のループの次のループ処理に進みます。

for i in range(1, 11):
    for j in range(1, 11):
        if i == 3:
            continue
        print(i, j)

このコードは、以下の出力を生成します。

1 1
1 2
1 3
2 1
2 2
2 3
4 1
4 2
4 3
5 1
5 2
5 3
...

どちらの方法を使用するかは、状況によって異なります。

pythonのforをbreakして、exitやreturnするには

多重ループを抜けて、exitやreturnしたいときは…?

以下の2つの方法があります。

1. sys.exit()を使用する

sys.exit()関数は、プログラムを終了させるための関数です。

関連)pythonのsys.exit() 

for文でbreakを使用して、sys.exit()関数を呼び出すと、for文だけでなく、プログラム全体が終了します。

例えば、以下のコードは、for文でbreakを使用して、sys.exit()関数を呼び出しています。

for i in range(1, 11):
    if i == 3:
        break
    print(i)
    sys.exit()

このコードは、以下の出力を生成します。

1
2

2. returnを使用する

return文は、関数の処理を終了させるための文です。

for文でbreakを使用して、return文を呼び出すと、for文の処理は終了しますが、プログラム全体は終了しません。

例えば、以下のコードは、for文でbreakを使用して、return文を呼び出しています。

def foo():
    for i in range(1, 11):
        if i == 3:
            break
        print(i)
        return

print(foo())

このコードは、以下の出力を生成します。

1
2

どちらの方法を使用するかは、状況によって異なります。

プログラム全体を終了させたい場合は、sys.exit()を使用します。

関数の処理を終了させたい場合は、returnを使用します。