PYTHON MEBY

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'を入力するまでループが続き、入力された文字列を出力します。

関連記事