0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python初心者】breakとcontinueで混乱したので整理してみました

Posted at

Pythonのfor文を勉強していて、breakとcontinueの使い方がよくわからなくなってきたので、自分なりに整理しておきます。

if文と一緒に使われることが多かったので、ifから抜けるのかと勘違いしてしまうことがあるので、注意していきたいです。

breakとは?

ループの途中で終わらせるときに使う。

for i in range(5):
    if i == 3:
        break
    print(i)

出力

0
1
2

i が 3 のときに break されて、ループが終了する。

continueとは?

今回の処理だけスキップして次のループへ進む。

for i in range(5):
    if i == 3:
        continue
    print(i)

出力

0
1
2
4

i が 3 のときだけ print を飛ばしてる。

ifとbreak(またはcontinue)の関係

最初は if を抜ける命令だと思っていたけど、実際は for や while に対して動く。
だから if の中に書いてあっても、実際にはループを止めたりスキップしたりしてる。

breakとcontinueの違い

命令 意味 ループは続く? よく使う場面
break ループを終了する ❌ 終わる 条件を満たしたら止めたいとき
continue 今回の処理だけスキップする ✅ 続く 条件に合うときだけ飛ばしたいとき

for-else文について

ループの中で break が使われなかったときに else が実行される構文。

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, 'equals', x, '*', n // x)
            break
    else:
        print(n, 'is a prime number')

出力

2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3

for の中で break されなかったときに else が動いてる。
素数のときだけ else が実行されるようになっている。

覚え方のメモ

  • break:ループを終わらせる
  • continue:その回だけスキップする
  • if は条件を判断してるだけで、breakやcontinueの効果には関係ない

おわりに

ちゃんと理解しておかないと毎回混乱しそうだったので、自分があとから見てわかるようにまとめてみました。今後も何度か使いながら慣れていきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?