【Python】breakとcontinueの違い

コーディング
  • for文で時々使用するbreakcontinue、たまに使用する時に混同するのでmemo
  • 結論
    • break→ループを抜ける
    • break回以降は実行されない
    • continue→そのループだけスキップ

サンプルコードと実行結果

  • 1~10をfor文で回す
  • 5の時にbreakとcontinueを入れる

break

  • 1~4のみ出力され、5以降は出力されない
    • breakがprintより前にあるため、5のprint()も実行されない
for num in range(1, 11):
    if num == 5:
        break
    print(num)

実行結果

1
2
3
4

continue

  • 5の時のみ処理がスキップされる
  • 1~4, 6~10は出力される
for num in range(1, 11):
    if num == 5:
        continue
    print(num)

実行結果

1
2
3
4
6
7
8
9
10

2重ループの場合

  • 1~5を2重のfor文で回す(num_i、num_j)
  • num_j=3の時にbreakとcontinueを入れる

break

  • num_j=3で一番内側のループを抜け、num_iの次のループの数になる
  • breakはループを一つ抜ける処理(外側のループは抜けられない)。外側のループは続くので注意。
for num_i in range(1, 6):
    for num_j in range(1, 6):
        if num_j == 3:
            break
        print(num_i, num_j)

実行結果

1 1
1 2
2 1
2 2
3 1
3 2
4 1
4 2
5 1
5 2

continue

  • 単一ループの場合と同様、num_j=3のみスキップされ、他は全て実行される
for num_i in range(1, 6):
    for num_j in range(1, 6):
        if num_j == 3:
            continue
        print(num_i, num_j)

実行結果

1 1
1 2
1 4
1 5
2 1
2 2
2 4
2 5
3 1
3 2
3 4
3 5
4 1
4 2
4 4
4 5
5 1
5 2
5 4
5 5

コメント

タイトルとURLをコピーしました