カテゴリ: 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でデータベースエラーを処理する方法!初心者にもわかる例外の使い方
New2
Flask
FlaskでリダイレクトやURL生成を行う方法!便利な関数の使い方を解説
New3
Flask
FlaskでPOSTリクエストを受け取る方法!初心者でもわかるJSONデータの受け取り方
New4
Flask
Flask‑Mailの使い方!アプリからメールを送信する基本方法を解説
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Django
DjangoとFlaskの違いを完全比較!初心者でもわかるPythonフレームワーク入門
No.3
Java&Spring記事人気No3
Python
Pythonでリストをコピーする方法!copy()・スライス・list()の使い方を比較
No.4
Java&Spring記事人気No4
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.5
Java&Spring記事人気No5
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.6
Java&Spring記事人気No6
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.7
Java&Spring記事人気No7
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.8
Java&Spring記事人気No8
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説