if,for,whileなどの繰り返しを中断して繰り返しの先頭に戻りたい(continue)


概要


forやwhileループ中に

continue

ですぐさまループの最初に戻る


a = 0

while True:
    if a <= 5:
        a = a + 1
        print(a)
        continue
    break

変数aに0を入れる

以下を繰り返せ
    もしaが5以下なら
        aに1を足せ
        aを出力せよ
        whileの最初に戻ってまた繰り返し処理
    whileから抜ける

出力


1
2
3
4
5
6

説明


繰り返し処理を、その場で中断してまた先頭から繰り返し処理をする
似た機能にbreakがあるが
continueはその場で中断して、繰り返し処理をまた続ける
breakはその場で中断して、繰り返し処理から抜ける

間違えやすい問題


a = 0

while True:
    if a <= 5:
        continue
    a = a + 1
    break
上のようにすると continueはその場ですぐに先頭に戻るため aを+1せずにまた繰り返してしまう この文では永久にaはゼロのまま無限に繰り返されてしまう 本来、continueの前にa = a + 1を入れないといけない このように+1する行を間違えた場所に入れてしまうことが よくある間違いの一つ