【初心者向け】Pythonの「break」とは?ループを途中で止める使い方を分かりやすく解説

python

プログラムを書いていて、こんな場面に出会ったことはありませんか?

「条件を満たしたら、ループから抜け出したい」
「無限に続くループを適切な場所で止めたい」

そんなときに活躍するのが、Pythonのbreak文です。

この記事では、Python初心者の方でも理解できるように:

  • breakの基本的な仕組み
  • 実際に使える具体例
  • よくある間違いと対処法
  • continueやelseとの違い

これらを、図解とサンプルコードで丁寧に説明していきます。

スポンサーリンク

breakとは何か?|ループを強制的に終わらせる命令

break文とは、for文やwhile文などのループ処理を途中で終了させるための命令です。

基本的な書き方

for 変数 in データ:
    if 条件:
        break  # ←この時点でループが終わる
    # 他の処理

breakが実行されると、そのループから完全に抜け出し、ループの次の行へ処理が移ります。

具体例

例1:特定の値を見つけたらループを止める

numbers = [1, 3, 5, 10, 7, 9]

for num in numbers:
    print(f"現在の数字: {num}")
    if num == 10:
        print("10を見つけました!ループを終了します")
        break

print("ループが終わりました")

実行結果:

現在の数字: 1
現在の数字: 3
現在の数字: 5
現在の数字: 10
10を見つけました!ループを終了します
ループが終わりました

このように、breakが実行された瞬間にループから抜け出します。残りの要素(7, 9)は処理されません。

while文でのbreak活用法

例2:条件が揃うまで繰り返し、達成したら終了

count = 0

while True:  # 無限ループ
    count = count + 1
    print(f"{count}回目の処理")
    
    if count >= 3:
        print("3回達成したので終了!")
        break

print("処理完了")

実行結果:

1回目の処理
2回目の処理
3回目の処理
3回達成したので終了!
処理完了

while Trueは本来なら永遠に続きますが、breakを使うことで適切なタイミングで終了できます。

continueとの違いを理解しよう

多くの初心者が混同するのが、breakcontinueの違いです。

命令動作
breakループ全体を終了する
continue今回の処理だけスキップして、次の周へ進む

比較例:breakの場合

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

print("ループ終了")

結果: 0 1 ループ終了

比較例:continueの場合

for i in range(5):
    if i == 2:
        continue
    print(i)

print("ループ終了")

結果: 0 1 3 4 ループ終了

breakは「完全にやめる」、continueは「今回だけ飛ばす」と覚えましょう。

for-else文とbreakの関係

Pythonには、for文にelse文を組み合わせる特殊な書き方があります。

for i in range(5):
    if i == 3:
        print(f"数字{i}でループを終了")
        break
    print(i)
else:
    print("最後まで処理が完了しました")

print("プログラム終了")

実行結果:

0
1
2
数字3でループを終了
プログラム終了

重要なポイント: breakが実行されると、else部分は実行されません。
else文は「ループが正常に最後まで完了した場合のみ」動作します。

実用的な使用例

例3:ユーザーが終了を指示するまで繰り返す

while True:
    user_input = input("何か入力してください('quit'で終了): ")
    
    if user_input == 'quit':
        print("プログラムを終了します")
        break
    
    print(f"あなたの入力: {user_input}")

print("お疲れさまでした!")

このように、ユーザーの操作によってプログラムを終了させる際にbreakは非常に便利です。

例4:リストから条件に合う最初の要素を探す

students = [
    {"name": "田中", "score": 85},
    {"name": "佐藤", "score": 92},
    {"name": "鈴木", "score": 78},
    {"name": "高橋", "score": 96}
]

for student in students:
    if student["score"] >= 90:
        print(f"優秀な生徒を発見: {student['name']}さん({student['score']}点)")
        break
else:
    print("90点以上の生徒は見つかりませんでした")

実行結果:

優秀な生徒を発見: 佐藤さん(92点)

よくある間違いと対処法

間違い1:条件なしでbreakを使う

for i in range(5):
    print(i)
    break  # これだと1回目で必ず終わってしまう

正しい書き方:

for i in range(5):
    print(i)
    if i == 2:  # 条件を設ける
        break

間違い2:ループの外でbreakを使う

# これはエラーになります
if True:
    break  # ループの中でないとbreakは使えない

breakは必ずfor文やwhile文の内部で使用しましょう。

まとめ

Pythonのbreak文は、ループ制御において非常に重要な役割を果たします。

覚えておくべきポイント:

  • breakはループを完全に終了させる
  • 条件と組み合わせて使うのが基本
  • continueは「スキップ」、breakは「終了」
  • for-else文ではbreakが実行されるとelse部分は動かない
  • ユーザー入力の終了判定などで実用性が高い

コメント

タイトルとURLをコピーしました