【Python】for文などで使うbreak文の使い方を解説

Pythonプログラミングを学ぶ上で、ループ処理は非常に重要な概念です。

特に、for文やwhile文を使った繰り返し処理は頻繁に登場します。

しかし、状況によっては途中でループを抜けたい場合もあります。

そんな時に役立つのがbreak文です。

この記事では、break文の基本構文や活用例、for文との組み合わせや注意点などを解説していきます。

目次から探す

break文とは

break文は、ループ処理(for文やwhile文)の途中でループを終了させるために使用される制御文です。

これにより、特定の条件が満たされた場合にループを抜け出すことができます。

これにより、無駄な処理を省くことができ、プログラムの効率を向上させることができます。

break文の基本構文

break文の基本構文は非常にシンプルで、breakというキーワードを使用します。

以下は、for文とbreak文を組み合わせたサンプルコードです。


for i in range(10):
    if i == 5:
        break
    print(i)

このコードでは、0から9までの数字を順番に表示するfor文がありますが、iが5になった時点でbreak文が実行され、ループが終了します。

そのため、実行結果は以下のようになります。

0
1
2
3
4

break文の活用例

break文は、様々なシーンで活用できます。

以下に、いくつかの活用例を紹介します。

例1: 素数判定

素数を判定するプログラムでは、break文を使って効率的に計算を行うことができます。


def is_prime(num):
    if num < 2:
        return False
    for i in range(2, num):
        if num % i == 0:
            return False
            break
    else:
        return True
print(is_prime(7))  # 結果: True
print(is_prime(10))  # 結果: False

このコードでは、is_prime関数で素数判定を行っています。

numが2以上の数で割り切れた場合、素数ではないためFalseを返し、break文でループを終了します。

これにより、無駄な計算を省くことができます。

例2: 検索処理

リスト内の特定の要素を検索する際にも、break文を活用できます。


fruits = ["apple", "banana", "cherry", "orange", "grape"]
search = "cherry"
for fruit in fruits:
    if fruit == search:
        print(f"{search}が見つかりました。")
        break
else:
    print(f"{search}が見つかりませんでした。")

このコードでは、fruitsリストからsearch変数に格納された文字列を検索しています。

見つかった場合、メッセージを表示し、break文でループを終了します。

見つからなかった場合、else節でメッセージを表示します。

以上が、break文の基本的な使い方と活用例です。

プログラムの効率を向上させるために、適切な場面でbreak文を活用しましょう。

for文とbreak文の組み合わせ

for文とbreak文を組み合わせることで、特定の条件に合致した場合にループを途中で終了させることができます。

これにより、無駄な処理を省くことができ、プログラムの効率を向上させることができます。

条件に合致したらループを抜ける

例えば、リスト内の要素を順番にチェックし、条件に合致した要素が見つかったらその時点でループを終了させたい場合があります。

このような場合に、for文とbreak文を組み合わせて使用します。

以下に、リスト内の要素を順番にチェックし、5以上の数値が見つかったらループを終了するサンプルコードを示します。


numbers = [1, 3, 4, 6, 8, 9]
for num in numbers:
    if num >= 5:
        print(f"5以上の数値 {num} が見つかりました。")
        break
    print(f"{num} は5未満です。")
1 は5未満です。
3 は5未満です。
4 は5未満です。
5以上の数値 6 が見つかりました。

このコードでは、for文でリストnumbersの要素を順番に取り出し、条件式num >= 5がTrueの場合、break文が実行され、ループが終了します。

ネストされたループでのbreak文の挙動

ネストされたループ(入れ子になったループ)の中でbreak文を使用する場合、break文は直接囲んでいるループだけを終了させます。

外側のループは継続して実行されます。

以下に、ネストされたループでbreak文を使用したサンプルコードを示します。


for i in range(3):
    print(f"外側のループ: {i}")
    for j in range(5):
        if j == 2:
            print(f"内側のループで {j} に到達したため、内側のループを終了します。")
            break
        print(f"内側のループ: {j}")
外側のループ: 0
内側のループ: 0
内側のループ: 1
内側のループで 2 に到達したため、内側のループを終了します。
外側のループ: 1
内側のループ: 0
内側のループ: 1
内側のループで 2 に到達したため、内側のループを終了します。
外側のループ: 2
内側のループ: 0
内側のループ: 1
内側のループで 2 に到達したため、内側のループを終了します。

このコードでは、内側のループでj == 2の条件に合致した場合、break文が実行され、内側のループが終了します。

ただし、外側のループは継続して実行されます。

1 2
目次から探す