- for文で時々使用する
break
とcontinue
、たまに使用する時に混同するのでmemo - 結論
- break→ループを抜ける
- break回以降は実行されない
- continue→そのループだけスキップ
サンプルコードと実行結果
- 1~10をfor文で回す
- 5の時にbreakとcontinueを入れる
break
- 1~4のみ出力され、5以降は出力されない
- breakがprintより前にあるため、5の
print()
も実行されない
- breakがprintより前にあるため、5の
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
コメント