Pythonを学び始めると、必ず出てくるのが繰り返し処理(ループ処理)です。 その中でもwhileループは、ある条件が「True(真)」である間、同じ処理を繰り返すための仕組みです。
この記事では、IT初心者の方でも理解しやすいように、whileループの基本構文から実践的な使い方、注意点までを順番に解説していきます。
whileループとは、条件が満たされている間は、同じ処理を繰り返すための文法です。 例えば「カウンターが5以下なら数字を表示し続ける」といった処理に使えます。
Pythonの繰り返し処理には大きく分けて2つの方法があります。
forループ … 繰り返す回数があらかじめ決まっているときに便利
whileループ … 繰り返す回数が決まっていないときや、条件によって止めたいときに便利
特に、ユーザーの入力を待つ処理や、条件が変わるまで動き続けるプログラムにはwhileループが最適です。
whileループの基本形は以下のようになります。
while 条件:
# 繰り返し実行する処理
ここで大事なのは、条件式がTrueである間だけ、処理が繰り返されるという点です。 もし条件式が最初からFalseなら、ループは一度も実行されません。
次に、簡単な例を見てみましょう。この例では、カウンターを使って1から5までの数字を出力します。
counter = 1 # カウンターを1で初期化
while counter <= 5: # counterが5以下の間はループ
print(counter) # 現在のcounterを出力
counter += 1 # counterを1ずつ増やす
このプログラムを実行すると、画面には「1」から「5」までの数字が順番に表示されます。 最初に counter = 1 で変数を準備し、条件として"counterが5以下であるかどうか"を判定します。
条件がTrueである間は、print(counter) によってカウンターの値が出力され、その後 counter += 1 によって値が1ずつ増えていきます。カウンターが6になると条件がFalseになり、そこでループが終了します。
このように、処理の中で変数を更新することがループを正しく終了させる鍵となります。
もし変数の更新を忘れてしまうと、条件が永遠にTrueのままとなり、プログラムは止まらなくなってしまいます
whileループを使う上で特に気をつけたいのが「無限ループ」です。
例えば次のように書いてしまうと、プログラムが延々と動き続けてしまいます。(右のシミュレーターで実行すると、ブラウザが固まってしまうので、実行しないでください!)
while True:
print("このメッセージは無限に表示されます!")
このコードは条件が常にTrueなので、プログラムを強制終了しない限り止まりません。
無限ループは意図的に使う場面もありますが、初心者のうちは「条件が必ずFalseになるタイミング」をしっかり作るようにしましょう。たとえば変数を増やしたり、一定の条件で break 文を使って終了させたりするのが安全です。
次は、ユーザーが「5」と入力するまで繰り返すプログラムを作ってみます。
number = 0 # 初期値を設定
while number != 5: # ユーザーが5を入力するまでループ
number = int(input("5を入力してください: ")) # ユーザーからの入力を取得
print(f"あなたが入力した数は: {number}")
print("正しい数を入力しました!")
このプログラムでは、最初に変数 number に0を代入して準備をします。
その後"numberが5でない限りループを続ける"という条件を指定しています。 ループの中では input() を使ってユーザーから数値を入力してもらい、その値を int() で整数に変換します。
そして入力した数を出力し、もし入力された数が5であれば条件がFalseとなりループを終了します。
つまり、このプログラムはユーザーが正しい数を入力するまで何度でも繰り返し質問し、5を入力した時点で終了する仕組みになっているわけです。
今回はPythonのwhileループの基本について解説しました。
whileループは「条件がTrueである間」処理を繰り返す仕組みで、カウンターを使った単純な繰り返しから、ユーザー入力を利用した柔軟な処理まで幅広く応用できます。 ただし条件を適切に設計しないと無限ループに陥る危険があるため、変数の更新や終了条件の設定を意識することが大切です。
forループと合わせて理解することで、Pythonのプログラミングで表現できる範囲が一気に広がります。次のステップとして、forループの基本についても学んでみましょう。