Python | continue文

Python
スポンサーリンク

1. continue のイメージ

  • ループ(for / while)の中で使う命令です。
  • 意味:「今の1回分の処理をそこで終わりにして、ループの先頭に戻る」 — ループ自体は続きます(中断はしない)。

2. 基本の書き方(短い例)

while の例(偶数だけ表示する):

i = 0
while i < 10:
    i = i + 1
    if (i % 2) == 1:
        continue
    print(i, "is even.")
Python

このコードの流れ(ステップ):

  1. i を1ずつ増やす。
  2. i が奇数なら continue → その回は残りの処理(ここでは print)を実行せず、ループの先頭へ戻る。
  3. 偶数のときのみ print が実行される(結果:2,4,6,8,10 が出力)。

3. for ループでも同じ

for x in range(5): の中で if x == 2: continue と書けば、x == 2 のときだけ処理を飛ばして 0,1,3,4 を処理できます。

4. 実践例:ユーザー入力で無効入力をスキップ

問題:ユーザーが何も入力せず Enter を押すと int('') でエラーになる。
対処:空入力だったら「無効です」と表示してその回だけスキップする — continue が便利。

counter = 1
while counter <= 10:
    text = input("数字を入力してください: ")
    if text == '':
        print("入力が無効です")
        continue               # 空入力ならこの回を飛ばす
    if text == '999':
        print("中断します")
        break                  # 999ならループを中断(break)
    number = int(text)
    print(counter, "回目:", number * number)
    counter = counter + 1
print("終了しました")
Python

この修正で、空入力が来た回は int() の行に到達しないのでエラーを防げます。

5. 使いどころ(初心者向け・実務的な目線)

  • データのフィルタリング:ループ内で「無視したいケース」を先に判定して continue で飛ばすと、後続の処理は主目的だけに集中できて読みやすい。
  • 入力チェック:無効値(空文字、形式不正など)が来たらその回だけスキップして、正常なデータだけ処理する。

6. 注意点(失敗しやすいポイント)

  1. 変数更新を忘れると無限ループに
    while の中で i を増やす処理を continue の前に置いてしまうと、次のループで同じ値になり無限ループになる場合があります。必ずループ変数が正しく更新される位置に注意する。
  2. continue はその入っているループだけに作用する(ネストしている場合は内側のループの先頭に戻るだけ)。
  3. continue のあとに実行したかった処理があれば順序を見直すcontinue はその回の残りを丸ごと飛ばすので、必要な処理が飛ばされないように設計する)。

7. continue と break の違い(簡潔)

  • continue:その「回」だけ中断して次の回を続ける
  • break:ループを完全に抜ける(終了)
    (入力例では '' のときは continue、特別な終了入力(例: ‘999’)のときは break を使っています)。

8. ミニ演習

  • 0〜9 をループして、3 の倍数だけ出力するプログラムを書いてください(continue を使う)。
    ヒント:if x % 3 != 0: continueprint(x)
    解答例
for x in range(10):
    if x % 3 != 0:
        continue
    print(x)
Python
  • ユーザーから数値を10回入力してもらうプログラムを作る。ただし空入力は「無効」と表示して回数にカウントしない(つまり空入力の回はカウントを増やさずに再入力させる)。continue を使って実現してください。
    考え方:空入力なら continuecounter を増やす行の前でスキップする)。

9. よくある質問(初心者のつまづき)

Q
continue を使うと while の条件チェックはどうなる?
A

continue でループ先頭に戻り、次に条件式(while の条件)を再評価します。条件をまだ満たしていれば次の繰り返しへ。

Q
continueif/else、どちらが良い?
A

小さな分岐なら if/else でも OK。だが「無視するケースを先に判定して飛ばす」パターンは continue の方がネストを減らせて見通しが良くなることが多いです。


まとめ

  • continue = 「その回だけ飛ばしてループの先頭へ戻る」。ループ自体は終わらない。(python.jp)
  • 無効データを無視したり、特定条件で処理をスキップするのに便利。使うときはループ変数や必要な処理が飛ばされないように注意。
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました