Pythonのbreakとcontinueの違いとは?ループの制御方法をマスター
生徒
「Pythonでループの途中で止めたり、飛ばしたりする方法ってあるんですか?」
先生
「ありますよ。そのときに使うのがbreak
とcontinue
です。どちらもループの制御に使います。」
生徒
「どっちを使えばいいか迷いそうです…違いって何ですか?」
先生
「それでは、2つの違いや使い方を、やさしく順番に解説していきましょう!」
1. Pythonのループ制御とは?
ループ制御とは、繰り返し処理(for文
やwhile文
)の中で、途中で止めたり、次の繰り返しにスキップしたりするテクニックです。
Pythonには以下の2つの制御方法があります。
break
:ループを途中で終了するcontinue
:その回の処理をスキップして次のループへ進む
2. break文の使い方|ループを途中で終了する
break
文は、繰り返し処理の中で「ある条件に当てはまったらもうループをやめる」というときに使います。
次の例では、「みかん」が見つかった時点でループが終了します。
fruits = ["りんご", "ばなな", "みかん", "ぶどう"]
for fruit in fruits:
if fruit == "みかん":
print("みかんを発見!")
break
print(fruit)
りんご
ばなな
みかんを発見!
みかんの後にある「ぶどう」は表示されません。ループが途中で終了したからです。
3. continue文の使い方|処理をスキップして次へ
continue
文は、ループ中に「ある条件のときはその回の処理をスキップして、次の繰り返しに進みたい」場合に使います。
例えば「みかん」を飛ばして、他の果物だけ表示したいときは以下のように書きます。
fruits = ["りんご", "ばなな", "みかん", "ぶどう"]
for fruit in fruits:
if fruit == "みかん":
continue
print(fruit)
りんご
ばなな
ぶどう
みかんはcontinue
でスキップされましたが、ループは最後まで実行されます。
4. breakとcontinueの違いを比較しよう
違いを簡単に表にまとめると、以下のようになります。
文法 | 意味 | ループはどうなる? |
---|---|---|
break |
ループを終了 | その場でループ全体が止まる |
continue |
1回スキップ | 次の繰り返しに進む |
breakはループそのものを終わらせるのに対して、continueは1回飛ばすだけというのが大きな違いです。
5. while文でも使える!breakとcontinueの活用
break
とcontinue
は、while文
でもまったく同じように使えます。
count = 0
while True:
count += 1
if count == 3:
continue
if count == 5:
break
print(count)
1
2
4
count == 3
のときはスキップ、count == 5
でループを終了しています。
6. 実用例:正解が出たら終了するクイズゲーム
以下は、正しい答えが出るまで繰り返すミニゲームです。break
で終了します。
answer = "Python"
while True:
guess = input("好きなプログラミング言語は?:")
if guess == answer:
print("正解です!")
break
else:
print("もう一度考えてみましょう。")
好きなプログラミング言語は?:Java
もう一度考えてみましょう。
好きなプログラミング言語は?:Python
正解です!
7. continueの実用例:偶数だけスキップする処理
continue
を使えば、特定の条件に合うデータだけを処理できます。たとえば、奇数だけを表示する処理です。
for i in range(1, 6):
if i % 2 == 0:
continue
print(i)
1
3
5
i % 2 == 0
は偶数を意味する条件です。それをcontinue
でスキップしています。