三重ループでは「不要な処理はスキップ(continue)」しつつ「特定条件で早期終了(break)」したい場面があります。例えば「探索処理」や「表の走査」でよく使われます。
応用例:九九表から特定の条件を探す
課題:
- 九九表(A×B×C)を走査する
- 偶数の結果はスキップ(continue)
- 結果が 45 になったら探索を終了(break)
found = False
for A in range(1, 6): # 外側ループ
for B in range(1, 6): # 中側ループ
for C in range(1, 6):# 内側ループ
result = A * B * C
if result % 2 == 0: # 偶数は不要 → スキップ
continue
print(f"A={A}, B={B}, C={C}, result={result}")
if result == 45: # 特定条件で終了
print("★ 見つけた!探索終了")
found = True
break # 内側ループを終了
if found: # 中側ループも終了
break
if found: # 外側ループも終了
break
Python実行結果(抜粋)
A=1, B=1, C=1, result=1
A=1, B=1, C=3, result=3
...
A=3, B=3, C=5, result=45
★ 見つけた!探索終了
解説ポイント
- continue → 偶数の結果は「この回だけスキップ」して次へ進む
- break → 目的の値を見つけたら「ループを終了」
- フラグ変数(found) → break は「その階層だけ」しか抜けないので、外側まで終了させるためにフラグを使う
応用の場面
- データ探索: 条件に合わないデータは飛ばし、見つかったら即終了
- 入力チェック: 不正値はスキップ、特定の終了コードで処理を終える
- ゲーム処理: 無効な動きはスキップ、勝敗が決まったら終了
👉 このように continue と break を組み合わせると「効率的な探索」や「安全な処理制御」が可能になります。


