導入
くり返しの途中で「もう抜けたい」「この回だけ飛ばしたい」ということがあります。それが break と continue です。
説明
break はくり返しをその場で終了します。目的のものが見つかったら止める、という使い方が典型です。
for n in range(1, 100):
if n * n > 50:
print(n, "で初めて2乗が50を超えた")
break # ここでループを抜ける
continue は、その回の残りを飛ばして次のくり返しへ進みます。条件に合うものだけ処理したいときに使います。break が「ループを出る」、continue が「この回だけ飛ばす」――違いを図で押さえましょう。
flowchart TB
loop["くり返しの本体"] --> chk{"条件に当たった?"}
chk -->|"break なら"| out["ループを完全に抜ける"]
chk -->|"continue なら"| next["この回はここで中断し次の回へ"]
chk -->|"どちらでもない"| rest["残りの処理を実行"]
next --> loop
rest --> loop
for n in range(1, 11):
if n % 2 == 0:
continue # 偶数はスキップ
print(n, end=" ") # 奇数だけ表示
print()
やってみよう
break の条件(n * n > 50)を変えて、止まる位置が変わることを確かめましょう。continue の条件を n % 3 == 0 にするとどうなるかも試してください。
演習
for n in range(1, 21): のループで、continue を使って3の倍数だけを表示してください(3 6 9 12 15 18)。
ヒント1を見る
3の倍数以外を continue で飛ばします。if n % 3 != 0: continue。