
Table of Contents(目次)
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 | その回の処理をスキップして次の繰り返しへ進む |
else | breakではなく、条件式が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 < 5がFalseになることで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は「繰り返す回数が事前に分からない」場面でとても便利です。ユーザーが条件を満たす(または終了を指示する)までループを続けることで、柔軟なインタラクティブ処理を実現できます。






