sec03 - Python while文の基本と使い方:条件付きループの仕組みを徹底解説
スポンサーリンク

1. while文の基本

for文では「要素を順番に取り出す」ことを中心に学びました。これに対して、while文は「条件が満たされている間、処理を繰り返す」という仕組みです。つまり、繰り返す回数が決まっていない場合に使われることが多いループです。

2. while文の構文

while文は次のような構文で書きます。

while 条件式:
    実行する処理

条件式がTrueである間、ループが実行され続けます。条件がFalseになると、ループを抜けます。次のコードではカウンタ変数を使って5回だけ繰り返す例を示しています。

count = 0
while count < 5:
    print(count)
    count += 1

出力例:

0
1
2
3
4
スポンサーリンク

3. 処理の流れ

while文の処理の流れは次の通りです。

  • 初期化(例:count = 0
  • 条件の判定(例:count < 5
  • 本体処理(例:print(count)
  • 状態の更新(例:count += 1
  • 条件がFalseになるまで繰り返す

4. 無限ループとその注意点

条件が常にTrueのままだと、ループは永久に止まりません。これを「無限ループ」と呼びます。特に、カウンタ変数の更新を忘れた場合に、意図せず無限ループが発生します。

count = 0
while count < 5:
    print(count)
    # count += 1 を書き忘れた!

このコードではcountが0のまま更新されないため、count < 5が常にTrueとなり、プログラムが止まらなくなります。ループの中で変数が確実に変化しているか、常に確認するようにしましょう。

5. while + break / continue / else

for文と同じように、while文でもループの流れを制御するためのキーワードが使えます。

構文役割
break条件を満たしたときにループを強制終了する
continueその回の処理をスキップして次の繰り返しへ進む
elsebreakではなく、条件式がFalseになったことにより繰り返しが終了したときに実行される
(breakで抜けた場合は実行されない)

たとえば、次のような例があります。

count = 0
while count < 5:
    print(count)
    if count == 10:
        break
    count += 1
else:
    print('ループが正常に終了しました。')

出力例:

0
1
2
3
4
ループが正常に終了しました。

この場合、countが5になり、count < 5Falseになることでelse節が実行されます。

途中でbreakが呼ばれた場合は、elseはスキップされます。(count < 5の部分をcount < 20に書き換え、else節がスキップされることを確認してみましょう。)

6. 実践例:入力を使ったwhileループ

while文は、ユーザーの入力をもとに処理を繰り返す場面でよく使われます。このような場合、whileの条件式に直接Trueを指定して「無限ループ」を作ることができます。ただし、breakを使って安全にループを抜けられるようにしておきます。

while True:
    password = input('パスワードを入力してください(終了する場合は"exit"と入力): ')
    if password == 'exit':
        print('プログラムを終了します。')
        break
    elif password == 'python123':
        print('ログイン成功!')
        break
    else:
        print('パスワードが違います。もう一度入力してください。')

このようにwhile Trueは「繰り返す回数が事前に分からない」場面でとても便利です。ユーザーが条件を満たす(または終了を指示する)までループを続けることで、柔軟なインタラクティブ処理を実現できます。

スポンサーリンク