本文へスキップ
BecomeCoder

Pythonコース · 第4章 制御構文 ― 条件分岐と繰り返し · レッスン17

break / continue ― くり返しを制御する

ブラウザで完結

導入

くり返しの途中で「もう抜けたい」「この回だけ飛ばしたい」ということがあります。それが breakcontinue です。

説明

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

実際に動かしてみよう

下のエディタにPythonを書いて「実行」を押すと、ブラウザ内のPythonで出力が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう(input() を使う回は「標準入力」欄に値を入れてから実行します)。

Python — ブラウザ内で実行

ブラウザ内でPythonを動かす環境(Skulpt)を読み込みます(初回のみ少し時間がかかります)。
スクロールして表示された時点でも自動で読み込まれます。