Python | ループを途中で止める break 文

JavaScript 未分類
スポンサーリンク

break 文って何?

ループ処理(while / for)を途中で強制終了する命令だよ。

ループって本来こう:

ぐるぐる → ぐるぐる → ぐるぐる → 終わる

でも、
「もうこれ以上やらなくていい!」
「条件に当てはまったから止めたい!」
という場面がある。

そんなときに使うのが break


理解のイメージ

ループを道にたとえると…

道を歩く(=ループを回す)
   ↓
途中で『ここでストップ!』の看板(=break)
   ↓
そこで歩くのをやめて、道(ループ)から出る

1. while × break の基本形

while 条件:
    処理A
    if 中断したい条件:
        break
    処理B
Python
  • break に来た瞬間、while 全体が終了
  • break のあとの処理Bは実行されない

例題①:999 が入力されたら中断するプログラム

counter = 1

while counter <= 5:
    text = input("数字を入力してください: ")

    if text == "999":
        print("中断します")
        break   # ←ここでループを強制終了

    number = int(text)
    print(counter, "回目:", number * number)

    counter += 1

print("終了しました")
Python

どう動くか?

  • 5 回まで数字を聞く
  • ただし、999 が入力されたらその場で終了
  • break の直後でループを抜け、最後に「終了しました」を表示

ポイント

  • 強制終了だから カウンタが残ってても関係ない
  • 条件判定はふつう if とセットにする

2. for × break の基本形

for x in [1, 2, 3, 4, 5]:
    if x == 3:
        break
    print(x)
Python

🔚 実行結果:

1
2
  • 3 に出会った瞬間に止まる
  • 4、5 は処理されない

例題②:リストから最初に「赤」が出たら検索をやめる

colors = ["青", "緑", "赤", "黄", "黒"]

for c in colors:
    print("調べ中:", c)
    if c == "赤":
        print("赤を発見しました! → 検索終了")
        break
Python

🔚 実行結果:

調べ中: 青
調べ中: 緑
調べ中: 赤
赤を発見しました! → 検索終了

3. break と continue の違い(初心者がよく混乱する点)

効果
breakループ 全体 を抜ける(完全終了)
continue「今の1回だけスキップ」して次のループへ進む

例:continue だと止まらない

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

結果:

0
1
3
4

2 だけスキップしてループは続く → break と全然違う!


4. 初心者がやりがちな間違い

❌ ① break の後の処理が実行されると思っている

if 条件:
    break
print("ここは実行される?")
Python

実行されない!
break はループそのものから飛び出す。

❌ ② break を if の外に書いてしまう

for x in data:
    print(x)
break   # ←これはエラー!
Python
  • ループの外に break を置くと文法エラー(ループ内専用)

❌ ③ break を使えばなんでも止まると思っている

ネスト(入れ子)では 一番内側のループ だけ止まる。

for i in range(3):
    for j in range(3):
        break    # 内側だけ終わる
Python

外側は継続するよ。


5. 練習問題(解答付き)

【問題1】

1〜100の数字を順番に表示する。
ただし 50 になったらループを終了 するプログラムを書いてください。

解答

for i in range(1, 101):
    print(i)
    if i == 50:
        break
Python

【問題2】

ユーザーにパスワード入力を求める。
正しいパスワード "apple123" が入力されたら「ログイン成功」と表示し、それ以上聞かずに終了するプログラムを作れ。

解答

password = "apple123"

while True:
    text = input("パスワードを入力してください: ")

    if text == password:
        print("ログイン成功")
        break   # 成功したら終了

    print("違います。もう一度。")
Python

まとめ(超重要ポイント)

  • break は ループ全体を強制終了
  • 条件分岐(if)とセットで使うことが多い
  • ループが長い処理を短縮できる
  • for・while どちらでも使える
  • continue と混同しない!
タイトルとURLをコピーしました