breakとcontinueの違い|Pythonのお勉強
2021/12/17 2022/2/14
たまに少し不安になるbreakとcontinueの違いについてです。
breakとは
ループを抜けて、次の処理に行きます。例えばwhileループAの中のbreakに引っ掛かると、もうループAには戻ってきません。
continueとは
ループ内の処理を中断して、ループに戻ります。例えば、whileループBの中のcontinueに引っ掛かると、ループ内のその後の処理は行わず、ループBの最初に戻ります。
while文の場合、条件一致(ループ処理判定)→continueに引っかかる→条件一致(ループ処理判定)となり、無限ループとなる可能性もあるので注意です。
比較図
汚い絵ですが、比較する図を作りました。
サンプルプログラム
簡単なサンプルを書いてみました。10回繰り返すwhileのループですが、3の時にcontinueをし、7の時にbreakをしています。そのため、3の時のif文の中のcontinue直下のprintは引っ掛かりません。
また、7でbreakするので、8以降の処理は行われません。
サンプルプログラムの結果
>>>
*** Remote Interpreter Reinitialized ***
Hey, this is 1.
Hey, this is 2.
Hey, this is 3.
Oh, it's 3. Do continue.
Hey, this is 4.
Hey, this is 5.
Hey, this is 6.
Hey, this is 7.
Oh, it's 7. Do break.
>>>
サンプルプログラムのコード
今回作ったコードを載せておきます。
# Looping 10 times
times = 1
while times <= 10:
print(f"Hey, this is {times}.")
if times == 3:
print(f"Oh, it's {times}. Do continue.")
times += 1
continue
print("Aft continue, this shouldn't appear!!")
elif times == 7:
print(f"Oh, it's {times}. Do break.")
times += 1
break
print("Aft break, this shouldn't appear!!")
else:
times += 1