
【6日でできるPython入門】繰り返し while文
Pythonの繰り返し処理には、「for文」と「while文」の2つがあります。for文はデータの集まりを順番に処理するときに便利ですが、while文は「ある条件が満たされている間だけ繰り返す」という、より柔軟な繰り返しを実現できます。
while文は、繰り返し回数が事前に決まっていないケースや、ユーザーからの入力や状態の変化で終了するような処理で大活躍します。ここでは、while文の書き方や使い方を、実用的な例を交えて解説します。

1.while文の基本構文と使い方
1.1. while文の基本構文
while文の基本形は次の通りです。
while 条件式:
繰り返し実行する処理
条件式がTrue(真)の間、ブロック内の処理が繰り返し実行されます。
サンプル:カウントダウンを表示する
ファイル名: lesson16-1.py
# 10から1までカウントダウンして、最後に「発射!」と表示する
count = 10
while count > 0:
print(f"{count}秒前…")
count -= 1
print("発射!")
実行結果
10秒前…
9秒前…
8秒前…
7秒前…
6秒前…
5秒前…
4秒前…
3秒前…
2秒前…
1秒前…
発射!
解説
count = 10
で変数を初期化します。while count > 0:
でcountが0より大きい間ループします。count -= 1
で毎回countの値を1減らしています。- ループが終わると「発射!」と表示します。
1.2. while文でリストの要素を順に処理
for文でも書けますが、while文でもリストの全要素を処理できます。
ファイル名: lesson16-2.py
# 生徒の名前リストを順番に表示する
students = ["山田", "田中", "佐藤", "高橋"]
index = 0
while index < len(students):
print(f"{students[index]}さんが出席しました")
index += 1
実行結果
山田さんが出席しました
田中さんが出席しました
佐藤さんが出席しました
高橋さんが出席しました
解説
index = 0
でインデックスを初期化。while index < len(students):
でリストの範囲内だけ繰り返します。students[index]
で要素を取り出し、index += 1
で次に進めます。
2.条件が変化するまで繰り返す
while文は、ユーザーの入力やプログラムの状態によって、繰り返しの終了をコントロールできるのが最大の特徴です。
2.1. ユーザーが「終了」と入力するまで繰り返す
ファイル名: lesson16-3.py
# ユーザーが「やめる」と入力するまで好きな果物を答えてもらう
while True:
fruit = input("好きな果物を入力してください(やめるで終了)> ")
if fruit == "やめる":
print("入力を終了します。")
break
print(f"あなたの好きな果物は{fruit}ですね!")
実行結果
好きな果物を入力してください(やめるで終了)> みかん
あなたの好きな果物はみかんですね!
好きな果物を入力してください(やめるで終了)> りんご
あなたの好きな果物はりんごですね!
好きな果物を入力してください(やめるで終了)> やめる
入力を終了します。
解説
while True:
で無限ループを作成。if fruit == "やめる":
で終了条件をチェックし、break
でループを抜けます。- それ以外は、入力値に応じてメッセージを表示します。
2.2. 不正な入力を繰り返しチェックする
ファイル名: lesson16-4.py
# 0より大きい数字が入力されるまで繰り返し、正しい入力があれば合格と表示
while True:
num = int(input("正の整数を入力してください > "))
if num > 0:
print(f"{num}は正しい入力です。合格!")
break
else:
print("0以下の数字は無効です。再入力してください。")
実行結果
正の整数を入力してください > -3
0以下の数字は無効です。再入力してください。
正の整数を入力してください > 0
0以下の数字は無効です。再入力してください。
正の整数を入力してください > 5
5は正しい入力です。合格!
解説
- 入力値が正の整数でなければ、エラーメッセージを表示して再入力を促します。
- 正しい値なら、合格メッセージを表示してループを終了します。
3.while文でよく使う構文・テクニックまとめ
構文例 | 主な用途 | 説明 |
---|---|---|
while 条件式: | 条件がTrueの間、繰り返す | 基本のwhile文構文 |
while True: ... break | 明示的な終了条件で無限ループを制御 | ユーザー入力などでbreakで終了 |
変数の更新 | ループ内で変数を変化させて繰り返しを制御 | カウンタやインデックスの増減など |
入力チェック | 入力値が正しいか何度も再確認したい場合など | 正常な値が得られるまでループを継続 |
まとめ
- while文は「条件が成り立つ限り繰り返す」という特徴を持ちます。
- for文で書けることも多いですが、繰り返し回数が決まらない場合やユーザー入力・状態変化による繰り返しはwhile文が本領発揮します。
- 変数の更新やbreak文の使い方などをマスターし、柔軟なループ処理を書けるようにしましょう。