備忘録

【Python】while文の使い方

前提

Python: 3.12

基本

条件式の値が真(True)の間繰り返し実行する。

while 条件式:
    処理
else:
    処理
i = 0
while i < 5:
    if i == 2:
        i += 1
        continue
    if i == 3:
        break
    print(i)
    i += 1

else

else節がある場合、ループ終了後にelse節の処理を実行する。

i = 0
while i < 5:
    print(i)
    i += 1
else:
    print('ループ終了')

実行結果

0
1
2
3
4
ループ終了

break

breakが実行されると、ループを終了する。 else節があっても、breakが実行された場合は、else節の処理は実行されない。

i = 0
while i < 5:
    if i == 3:
        break
    print(i)
    i += 1
else:
    print('ループ終了')

実行結果

0
1
2

continue

continueが実行されると、continue以降の残りの処理をスキップし、次の要素の処理に移る。 else節がある場合は、ループ終了後にelse節の処理を実行する。

i = 0
while i < 5:
    if i == 2:
        i += 1
        continue
    print(i)
    i += 1
else:
    print('ループ終了')

実行結果

0
1
3
4
ループ終了
注意
ループカウンタ(上記の例ではi)に対する処理がcontinueより後にある場合、ループカウンタが更新されずに無限ループに陥ってしまうため注意が必要。

関連記事

  • 【Python】Range関数の使い方
    前提 Python: 3.12 参考 range — 組み込み型 — Python 3.12.3 ドキュメント 4.3. range() 関数 — 4. その他の制御フローツール — Python 3.12.3 ドキュメント range関数とは range関数とは指定し
  • 【Python】リスト(list)の使い方
    前提 Python: 3.12 参考 リスト型 (list) — 組み込み型 — Python 3.12.3 ドキュメント 初期化 l = ['aaa', 'bbb'] 要素を追加する リストの最後に要素を追加する l = ['aaa', 'bbb'] l.append('ccc') print(l) 実行結果 ['aaa', 'bbb', 'ccc'] 指定し
  • 【Python】辞書(dict)の使い方
    前提 Python: 3.12 参考 マッピング型 — dict — 組み込み型 — Python 3.12.3 ドキュメント 初期化 d = {'aaa': 1, 'bbb': 2} キーが存在するか確認する d = {'aaa': 1, 'bbb': 2} if 'aaa' in d.keys(): 処理 値を取得する d =
  • 【Python】for文の使い方
    前提 Python: 3.12 基本 for i in range(5): print(i) else: 処理 for i in range(-5, 2): print(i) for i in range(5): if i == 2: continue if i == 3: break print(i) 参考 8.3. for 文 — 8. 複合文 (compound statement) — Python 3.12.3 ドキュメント else else節がある場合、ルー
  • 【Python】if文による条件分岐
    前提 Python: 3.12 基本 if 条件式: 処理 elif 条件式: 処理 else: 処理 if not 条件式: 処理 参考 8.1. if 文 — 8. 複合文 (compound statement) — Python 3.12.3 ドキュメント 変数がNoneか判定する Noneかど