初心者が混乱しやすい「三重ループの中で break と continue を使ったときの流れ」を、テキスト図と例題で整理します。ポイントは 「どの階層で使うかによって影響範囲が変わる」 ということです。
総合テキスト図
for A in ...: # 外側ループ
for B in ...: # 中側ループ
for C in ...: # 内側ループ
├─ 条件が continue → C の残り処理を飛ばして C の次へ
├─ 条件が break → C のループを終了して B の次へ
└─ 条件なし → 普通に処理を続ける
└─ C が終わると B の次へ
└─ B が終わると A の次へ
👉 重要:
continueは「その階層の残り処理をスキップ」breakは「その階層のループを終了」- どの階層で書いたかによって、飛ばす範囲が変わる
例題1:内側ループで continue と break
for A in range(1, 3): # A: 1, 2
for B in range(1, 3): # B: 1, 2
for C in range(1, 4):# C: 1, 2, 3
if C == 2:
continue # C==2 のときは飛ばす
if C == 3:
break # C==3 のときは内側ループ終了
print(f"A={A}, B={B}, C={C}")
Python出力
A=1, B=1, C=1
A=1, B=2, C=1
A=2, B=1, C=1
A=2, B=2, C=1
👉 流れ:
- C==2 → その回だけスキップ
- C==3 → 内側ループを終了して B の次へ
例題2:中側ループで break
for A in range(1, 3): # A: 1, 2
for B in range(1, 4): # B: 1, 2, 3
if B == 2:
break # B==2 のとき中側ループ終了
for C in range(1, 3):
print(f"A={A}, B={B}, C={C}")
Python出力
A=1, B=1, C=1
A=1, B=1, C=2
A=2, B=1, C=1
A=2, B=1, C=2
👉 流れ:
- B==2 → 中側ループを終了して A の次へ
- 内側ループ C は実行されない
例題3:外側ループで continue
for A in range(1, 4): # A: 1, 2, 3
if A == 2:
continue # A==2 のとき外側ループを飛ばす
for B in range(1, 3):
for C in range(1, 3):
print(f"A={A}, B={B}, C={C}")
Python出力
A=1, B=1, C=1
A=1, B=1, C=2
A=1, B=2, C=1
A=1, B=2, C=2
A=3, B=1, C=1
A=3, B=1, C=2
A=3, B=2, C=1
A=3, B=2, C=2
👉 流れ:
- A==2 のときは「外側のその回全体」を飛ばす
- B と C の処理は実行されない
初心者へのまとめポイント
- continue → 「この回だけスキップ」
- break → 「この階層のループを終了」
- どの階層で書いたかがカギ
- 内側なら「細かい単位」だけ飛ぶ
- 中側なら「その列」ごと飛ぶ
- 外側なら「その面」ごと飛ぶ
練習アイデア
- 「九九表を作るプログラム」で、偶数の段だけスキップ(外側で continue)
- 「迷路探索」で、見つかったら即終了(内側で break)
- 「文字列処理」で、特定の文字だけ飛ばす(内側で continue)
👉 こうした「どの階層で使うか」を意識すると、三重ループでも混乱せずに制御できます。

