ループの抜け道と落とし穴

for文やwhile文で繰り返し処理をしている時、「ある条件の場合だけループを途中でやめたい」あるいは「今回だけスキップしたい」という場面があります。
ここでは、ループを自由にコントロールするための3つのキーワード breakcontinue、そしてPython特有の else について学びましょう。

1. 途中でやめる (break)

ループを完全に終了し、外に抜け出す魔法の言葉が break です。 RPGで「宝箱からカギを見つけたら、もうそれ以上探す必要はないから帰る」というような場面で使います。

break_test.py
Loading...

2. 今回だけスキップする (continue)

continue は、「ループを完全にやめる」のではなく、「今回の周だけ処理をスキップして、次の周へ行く」という働きをします。
例えば、嫌いな食べ物だけ避けて、他のものは全部食べるようなイメージです。

continue_test.py
Loading...

💡 break と continue の違い

  • break : 学校を早退する(もう今日は帰る)
  • continue : 苦手な授業だけサボって、次の授業には出る(今回だけスキップ)

3. 探し物が見つからなかった時の else

Pythonには、他のプログラミング言語にはあまりない面白い機能があります。
ループ(forwhile)の後ろに else: をつけることができるのです。

この else は、break で途中で中断されることなく、ループが最後まで無事に回りきった時」にだけ実行されます。「探し物を全部探したけど、結局見つからなかった…」という処理を書くのに非常に便利です。

for_else.py
Loading...

もし search_target = "魔法使い" に書き換えて実行するとどうなるか、ぜひ試してみてください。break が実行されると、else のブロックは無視されます。

🎯 練習問題:アレルギーチェッカー

あなたはレストランのシェフです。
注文されたコース料理のなかに、お客さんのアレルギー食材「エビ」が入っていないかチェックします。
for-elsebreak を組み合わせて、
1. エビが見つかったら "警告:エビが入っています!" と表示してチェックを打ち切る
2. 最後までエビが見つからなかった時だけ "安全です。提供できます。" と表示する
プログラムを完成させてください。

allergy_check.py
Loading...