<一覧に戻る

whileループの基本

Pythonを学び始めると、必ず出てくるのが繰り返し処理(ループ処理)です。 その中でもwhileループは、ある条件が「True(真)」である間、同じ処理を繰り返すための仕組みです。

この記事では、IT初心者の方でも理解しやすいように、whileループの基本構文から実践的な使い方、注意点までを順番に解説していきます。

whileループとは?

whileループとは、条件が満たされている間は、同じ処理を繰り返すための文法です。 例えば「カウンターが5以下なら数字を表示し続ける」といった処理に使えます。

Pythonの繰り返し処理には大きく分けて2つの方法があります。

  • forループ … 繰り返す回数があらかじめ決まっているときに便利

  • whileループ … 繰り返す回数が決まっていないときや、条件によって止めたいときに便利

特に、ユーザーの入力を待つ処理や、条件が変わるまで動き続けるプログラムにはwhileループが最適です。

whileループの基本構文

whileループの基本形は以下のようになります。

while 条件:
    # 繰り返し実行する処理

ここで大事なのは、条件式がTrueである間だけ、処理が繰り返されるという点です。 もし条件式が最初からFalseなら、ループは一度も実行されません。

サンプルコード:1から5まで数字を表示する

次に、簡単な例を見てみましょう。この例では、カウンターを使って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 文を使って終了させたりするのが安全です。

ユーザー入力を使ったwhileループの例

次は、ユーザーが「5」と入力するまで繰り返すプログラムを作ってみます。

number = 0  # 初期値を設定

while number != 5:  # ユーザーが5を入力するまでループ
    number = int(input("5を入力してください: "))  # ユーザーからの入力を取得
    print(f"あなたが入力した数は: {number}")

print("正しい数を入力しました!")

このプログラムでは、最初に変数 number に0を代入して準備をします。

その後"numberが5でない限りループを続ける"という条件を指定しています。 ループの中では input() を使ってユーザーから数値を入力してもらい、その値を int() で整数に変換します。

そして入力した数を出力し、もし入力された数が5であれば条件がFalseとなりループを終了します。

つまり、このプログラムはユーザーが正しい数を入力するまで何度でも繰り返し質問し、5を入力した時点で終了する仕組みになっているわけです。

5. まとめ

今回はPythonのwhileループの基本について解説しました。

whileループは「条件がTrueである間」処理を繰り返す仕組みで、カウンターを使った単純な繰り返しから、ユーザー入力を利用した柔軟な処理まで幅広く応用できます。 ただし条件を適切に設計しないと無限ループに陥る危険があるため、変数の更新や終了条件の設定を意識することが大切です。

forループと合わせて理解することで、Pythonのプログラミングで表現できる範囲が一気に広がります。次のステップとして、forループの基本についても学んでみましょう。

出力結果: