break はループを完全に終了します。continue は特定条件だけスキップし、ループ自体は止まらない。
for score in [85, 92, 45, 78, 30, 88]: if score < 50: print(f"不合格点 {score} を発見!テスト終了") break # ループを完全に終了 print(f"合格: {score} 点") print("ループ終了")
合格: 85 点 合格: 92 点 不合格点 45 を発見!テスト終了 ループ終了
break では後半の [78, 30, 88] がループされていない。しかし continue にすると
for score in [85, 92, 45, 78, 30, 88]: if score < 50: print(f"不合格: {score} 点(記録しない)") continue # この反復をスキップして次へ print(f"合格: {score} 点") print("ループ終了")
合格: 85 点 合格: 92 点 不合格: 45 点(記録しない) 合格: 78 点 不合格: 30 点(記録しない) 合格: 88 点 ループ終了
最後までループします。最後までループしたいときは continue を使い、特定の条件に引っかかり次第ループを抜けたいときは break を使う……ということです。