Pythonでwhile文によるループ処理
この記事では、Pythonのwhile文を使ってループ処理を行う方法を解説します。基本的な構文から、条件式、break文、continue文の使い方まで、サンプルコード付きで分かりやすく説明します。
目次
while文の基本構文
while文は、条件式が真である限り、コードブロックを繰り返し実行します。
count = 0
while count < 5:
print(count)
count += 1
この例では、countが5未満である限り、countの値を出力し、countに1を加算します。ループはcountが5になった時点で終了します。
条件式によるループの制御
while文の条件式は、任意の論理式を使用できます。条件式が偽になるとループが終了します。
x = 10
while x > 0:
print(x)
x -= 2
この例では、xが0より大きい限り、xの値を出力し、xから2を引きます。ループはxが0以下になった時点で終了します。
break文によるループの中断
break文は、ループを強制的に中断します。
count = 0
while True:
print(count)
count += 1
if count >= 3:
break
この例では、無限ループを作成していますが、countが3以上になるとbreak文によってループが中断されます。
continue文によるループのスキップ
continue文は、現在のループの残りの部分をスキップし、次のループに移ります。
i = 0
while i < 5:
i += 1
if i == 3:
continue
print(i)
この例では、iが3の場合、continue文によってprint(i)が実行されず、次のループに移ります。
無限ループと対策
条件式が常に真となるwhile文は無限ループとなり、プログラムが停止しなくなります。break文などでループを制御する必要があります。
while True:
print('無限ループ') # これは危険です!
無限ループは、意図しない場合、プログラムを停止させるため、必ず終了条件を設けましょう。
実践例:ユーザー入力によるループ
ユーザーからの入力に応じてループを制御する例です。
while True:
answer = input('何か入力してください(終了するにはqと入力):')
if answer == 'q':
break
print(f'入力された文字列: {answer}')
ユーザーが'q'を入力するまでループが続き、入力された文字列を出力します。
関連記事
- Pythonでfor文によるループ処理(for in, for in range)
- Pythonでループを中断・スキップ(break, continue)
- Pythonで数値の範囲を指定して反復処理(range)
- Pythonでwhile文によるループ処理
- Pythonでリストを作成(list, リスト内包表記)
- Pythonで辞書を作成(dict, 辞書内包表記)
- Pythonで辞書をループ処理(for key in dict, for key, value in dict.items())
- Pythonでセットをループ処理(for element in set)
- Pythonでジェネレータ関数を使う(yield)
- Pythonでリストの要素を抽出(スライス, リスト内包表記)