カテゴリ: Python 更新日: 2025/12/26

Pythonのwhile文の使い方!無限ループの基本とbreak・continueの活用

Pythonのwhile文の使い方!無限ループの基本とbreak・continueの活用
Pythonのwhile文の使い方!無限ループの基本とbreak・continueの活用

先生と生徒の会話形式で理解しよう

生徒

「Pythonで同じ処理を何回も繰り返すには、どうしたらいいですか?」

先生

「その場合はwhile文という繰り返し構文を使うと便利です。条件が満たされている間、ずっと繰り返すことができますよ。」

生徒

「ずっと繰り返しって、止まらなくなったりしませんか?」

先生

「いい質問ですね。ちゃんと止める方法もありますし、止めずに無限に続けることもできます。順番に解説していきましょう!」

1. Pythonのwhile文とは?

1. Pythonのwhile文とは?
1. Pythonのwhile文とは?

Pythonのwhile文とは、「条件が成り立っている間、処理を繰り返す」ための命令です。たとえば、ゲームでプレイヤーの体力が残っている限りループを続ける、といった使い方ができます。

書き方はとてもシンプルです。


count = 0
while count < 5:
    print("カウント:", count)
    count += 1

このプログラムは、countが5未満の間だけprint()で表示し続けます。count += 1は「countに1を足す」という意味です。


カウント: 0
カウント: 1
カウント: 2
カウント: 3
カウント: 4

2. 無限ループとは?

2. 無限ループとは?
2. 無限ループとは?

条件がずっとTrue(真)のままだと、while文は永遠に繰り返しを続けます。これを「無限ループ」と呼びます。プログラムが止まらなくなってしまうので注意が必要です。

例を見てみましょう。


while True:
    print("これは止まりません!")

このコードは、Trueが永遠に変わらないので、プログラムがずっと止まらずに「これは止まりません!」と表示され続けます。Ctrl + Cで強制的に止める必要があります。

3. breakでループを強制終了する

3. breakでループを強制終了する
3. breakでループを強制終了する

break文を使うと、ループの途中でも条件に関係なくループを抜ける(終了する)ことができます。無限ループに「出口」を作るときによく使われます。


while True:
    text = input("終了と入力すると終わります: ")
    if text == "終了":
        print("ループを終了します。")
        break
    print("入力内容:", text)

終了と入力すると終わります: こんにちは
入力内容: こんにちは
終了と入力すると終わります: 終了
ループを終了します。

input()関数はキーボードから文字を入力できる機能です。text == "終了"のときだけループを止めます。

4. continueでスキップする

4. continueでスキップする
4. continueでスキップする

continue文は、ループの中で次の処理をスキップしたいときに使います。ループ自体は終わらず、次の繰り返しへ進みます。


count = 0
while count < 5:
    count += 1
    if count == 3:
        continue
    print("カウント:", count)

カウント: 1
カウント: 2
カウント: 4
カウント: 5

count == 3のとき、continueによってprint()がスキップされます。「3」のときだけ表示されていません。

5. 初心者がつまずきやすいポイント

5. 初心者がつまずきやすいポイント
5. 初心者がつまずきやすいポイント

1. 条件が変わらない
ループの中で変数を更新しないと、条件がずっと同じままで無限ループになります。たとえば、count += 1を忘れると、ループが止まりません。

2. 入力のスペルミス
ユーザーからの入力と比較する文字が完全一致していないと、breakが効かず、ずっとループが続いてしまうことがあります。

3. 数字と文字列の違い
input()で受け取ったデータは文字列(テキスト)なので、数値と比較する場合はint()などで変換が必要です。

6. while文の活用例:カウントダウンタイマー

6. while文の活用例:カウントダウンタイマー
6. while文の活用例:カウントダウンタイマー

最後に、簡単なカウントダウンの例を紹介します。0になったら終了のメッセージを出すようにしましょう。


time = 5
while time > 0:
    print("あと", time, "秒")
    time -= 1
print("タイマー終了!")

あと 5 秒
あと 4 秒
あと 3 秒
あと 2 秒
あと 1 秒
タイマー終了!

time -= 1は「timeから1を引く」という意味です。これで、1秒ずつ減っていき、0になるとループが終わります。

まとめ

まとめ
まとめ

while文は「条件が続く限り繰り返す」処理の要

今回の記事では、Pythonのwhile文について、基本的な使い方から無限ループの考え方、 そしてbreakやcontinueを使った制御方法までを丁寧に学びました。 while文は、for文と並んでPythonの繰り返し処理を支える重要な構文であり、 条件が成り立っている間だけ処理を続けたい場合に力を発揮します。 回数があらかじめ決まっていない処理や、 ユーザーの入力を待ちながら動作するプログラムなどでは、 while文がとても自然な形で使われます。

for文が「要素を順番に取り出す」繰り返しに向いているのに対して、 while文は「条件が真かどうか」を基準に繰り返しを判断します。 この違いを理解することで、 プログラムの目的に応じてfor文とwhile文を使い分けられるようになります。 Python初心者にとっては、while文の方が少し難しく感じられることもありますが、 条件と変数の変化を意識すれば、決して複雑なものではありません。

無限ループと正しく向き合うことが大切

while文を学ぶうえで必ず理解しておきたいのが「無限ループ」です。 条件が常にTrueのままだと、プログラムは止まることなく動き続けます。 一見すると危険な仕組みに見えますが、 break文を組み合わせることで、意図したタイミングでループを抜けることができます。 実際のアプリケーションやツールでは、 無限ループを前提にして、ユーザーの操作や入力を待ち続ける設計も多く使われています。

大切なのは、「必ずどこかに出口を用意する」という意識です。 breakを使う条件をしっかり考え、 ループが終わるタイミングを自分でコントロールできるようになると、 while文はとても頼もしい存在になります。 無限ループは避けるものではなく、 正しく理解して安全に使うものだと考えるとよいでしょう。

breakとcontinueで処理の流れを自在に操る

breakとcontinueは、while文の動きを細かく制御するための重要なキーワードです。 breakはループそのものを終了させ、 continueはその回の処理だけをスキップして次の繰り返しに進みます。 この2つを使いこなすことで、 条件に応じた柔軟な繰り返し処理が書けるようになります。

特にcontinueは、初心者のうちは少し理解しにくいかもしれませんが、 「この場合は何もしないで次へ進む」 という考え方で捉えると分かりやすくなります。 if文と組み合わせることで、 処理の流れをすっきり整理できるようになります。

while文を使った実践的なサンプル

ここで、while文とbreakを組み合わせた簡単なサンプルプログラムをもう一度確認してみましょう。 ユーザーが特定の文字を入力するまで処理を続ける、よくある例です。


while True:
    command = input("終了するには exit と入力してください: ")
    if command == "exit":
        print("処理を終了します。")
        break
    print("入力された内容:", command)

このようなコードは、対話型プログラムや簡単なツール作成で頻繁に使われます。 while文は単なる繰り返しではなく、 プログラムを「動きのあるもの」に変えてくれる存在だと言えるでしょう。

先生と生徒の振り返り会話

生徒「while文って、止まらなくなりそうで少し怖かったです。」

先生「最初はそう感じるよね。でもbreakを理解すると安心できるよ。」

生徒「条件が変わるかどうかを意識するのが大事なんですね。」

先生「その通り。条件と変数の変化を見れば、流れが分かるようになる。」

生徒「for文とwhile文の使い分けも、少し分かってきました。」

先生「いい調子だね。while文は実用性が高いから、ぜひ何度も書いて練習しよう。」

カテゴリの一覧へ
新着記事
New1
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New2
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New3
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
New4
Flask
FlaskのURLルールとは?ルーティングの基本と動的URLの作り方を解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.5
Java&Spring記事人気No5
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.6
Java&Spring記事人気No6
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Flask
Flaskでクラウド上のメッセージキュー(SQS/PubSub)を扱う完全ガイド!初心者向け解説