Python | 三重ループで break と continue を組み合わせる応用例

Python
スポンサーリンク

三重ループでは「不要な処理はスキップ(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 を組み合わせると「効率的な探索」や「安全な処理制御」が可能になります。

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました