多重ループはプログラムでよく使用される構造ですが、制御フローを正確に制御することが重要です。

そのためには、breakとcontinueステートメントを使いこなす必要があります。

以下に、Pythonの多重ループでのbreakとcontinueの使い方について解説します。

なお、単純なbreakとcontinueの使い方についての解説はこちらの記事が参考になります。

breakステートメントの使い方

breakステートメントは、ループ内で特定の条件が満たされた場合にループを中断するために使用します。

多重ループの場合、最も内側のループが中断されます。

以下は、二重ループを使用して特定の条件が満たされた場合にループを中断する例です。

for i in range(5):
    for j in range(5):
        if j == 3:
            break
        print(f'i: {i}, j: {j}')

上記のコードでは、j == 3の場合に内側のループが中断されます。

この結果、jの値が3になった時点で内側のループが終了し、外側のループが次のiに進みます。

i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0
i: 1, j: 1
i: 1, j: 2
i: 2, j: 0
i: 2, j: 1
i: 2, j: 2
i: 3, j: 0
i: 3, j: 1
i: 3, j: 2
i: 4, j: 0
i: 4, j: 1
i: 4, j: 2

上のように、jの値は「0~2」で終わっていますね。

continueステートメントの使い方

continueステートメントは、特定の条件が満たされた場合に、現在のループの残りの部分をスキップして次のループに進むために使用します。

以下は、二重ループを使用して特定の条件が満たされた場合にループをスキップして次のループに進む例です。

for i in range(5):
    for j in range(5):
        if j == 3:
            continue
        print(f'i: {i}, j: {j}')

上記のコードでは、j == 3の場合にcontinueステートメントが実行され、現在のループの残りの部分がスキップされます。

その結果、jの値が3のときには該当のループがスキップされ、次のjの値に進みます。

i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 0, j: 4
i: 1, j: 0
i: 1, j: 1
i: 1, j: 2
i: 1, j: 4
i: 2, j: 0
i: 2, j: 1
i: 2, j: 2
i: 2, j: 4
i: 3, j: 0
i: 3, j: 1
i: 3, j: 2
i: 3, j: 4
i: 4, j: 0
i: 4, j: 1
i: 4, j: 2
i: 4, j: 4

上のように、jの値は「3の場合のみ」スキップされていますね。

breakとの違いは理解できましたでしょうか?

注意点

これらのテクニックを使いこなすことで、多重ループでの制御フローをスムーズに処理することができます。

ただし、適切な条件やループの順序を設定することが重要です。誤った使い方は思わぬバグや予期せぬ結果を引き起こすことがありますので注意してください。

まとめ

今回はPythonの多重ループでのbreakとcontinueステートメントの使い方について解説しました。

これらのテクニックをマスターすると、より効率的なプログラミングが可能になります。

初心者の方でも是非取り組んでみてください。

今後もPythonを中心としたプログラミングの情報をお届けします。

Pythonの演習はこちら ▶

それでは、ステキなPythonライフを!

\ 読んだら、次は自分で作ってみよう /

筆者が運営する無料の入門コース「作って学ぶPythonプログラミング入門」では、こうした基本文法を、割り勘計算機・おみくじ・数当てゲームなどを作りながら身につけます。各章末の定着ドリル(全42問)で、自分の手で書く練習まで。最初の4レッスンは登録なしで読めます。

→ 無料の入門コース(全7章52レッスン)を見てみる

Pythonについて詳しく知りたいという方は、こちらの書籍もおススメです。

📚 関連記事