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

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

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

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

生徒

「Pythonで、ある条件が満たされるまで繰り返し処理する方法ってありますか?」

先生

「はい、そのときはwhile文を使います。条件がTrueのあいだ、ずっと処理を繰り返しますよ。」

生徒

「for文とはどう違うんですか?それと、無限ループって何ですか?」

先生

「その2つの違いや、breakcontinueの使い方も合わせて、やさしく説明していきましょう。」

-

1. while文とは?条件が真のあいだ繰り返す構文

1. while文とは?条件が真のあいだ繰り返す構文
1. while文とは?条件が真のあいだ繰り返す構文

while文は、「ある条件がTrue(真)である限り、処理を繰り返す」ための構文です。ポイントは、最初に条件をチェックして、OKなら実行→また条件チェックをくり返すところです。

次のように書きます。


count = 0
while count < 3:
    print("繰り返し中")
    count += 1

繰り返し中
繰り返し中
繰り返し中

解説:最初はcountが0なので「3より小さい」が成り立ち、1回目が実行されます。実行の最後でcount += 1により1増え、次の判定へ進みます。これをくり返して、countが3になった時点で条件がFalseになり、ループが止まります。

つまりwhile文は、条件を満たす間だけ続けたい処理をシンプルに書けるのが特徴です。

2. for文との違いを理解しよう

2. for文との違いを理解しよう
2. for文との違いを理解しよう

for文は「回数が決まっている繰り返し」に使うのに対し、while文は「いつ終わるか分からないけど、条件が満たされている間は繰り返したい」というときに使います。

たとえば、正しい答えが入力されるまで繰り返す処理などに便利です。イメージとしては、for文は「最初から回数表がある」、while文は「合格するまで何度でもやる」と考えると分かりやすいです。


# for文:回数が決まっている(3回だけ表示する)
for i in range(3):
    print("forで繰り返し")

# while文:条件を満たすまで続ける(3になるまで数える)
count = 0
while count < 3:
    print("whileで繰り返し")
    count += 1

forで繰り返し
forで繰り返し
forで繰り返し
whileで繰り返し
whileで繰り返し
whileで繰り返し

解説:for文のほうは「0〜2まで」のように回数(範囲)が最初から決まっているので、数えなくても自動で3回終わります。一方でwhile文は、countを自分で増やして条件をFalseにしないと終わりません。つまりwhile文は、入力待ちや判定チェックなど「終わり方が条件で決まる処理」に向いています。

3. 無限ループとは?while Trueの使い方

3. 無限ループとは?while Trueの使い方
3. 無限ループとは?while Trueの使い方

条件がずっとTrueだと、繰り返しが止まらなくなります。これを無限ループといいます。

たとえば以下のコードは、強制的に終了するまでずっと繰り返されます(画面に同じ文字が出続けます)。


while True:
    print("ずっと実行されます")

実際に使うときは、break文で「終わる条件」を用意しておくことが重要です。次は、3回表示したら止まる無限ループの例です。


count = 0
while True:
    print("ずっと…のつもりでも止められる")
    count += 1
    if count == 3:
        break

ずっと…のつもりでも止められる
ずっと…のつもりでも止められる
ずっと…のつもりでも止められる

解説:while Trueは「条件が常にTrue」なので、そのままだと永遠に続きます。そこで回数を数えて、count == 3になったタイミングでbreakして終了させています。無限ループは入力待ちやメニュー処理でもよく使われるので、「止める出口」をセットで覚えると安心です。

4. break文でループを途中で抜ける

4. break文でループを途中で抜ける
4. break文でループを途中で抜ける

break文は、条件に関係なくループから抜けるための命令です。

次の例では、「exit」と入力されたらループを抜けます。


while True:
    text = input("文字を入力(exitで終了):")
    if text == "exit":
        break
    print("入力された文字:", text)

文字を入力(exitで終了):hello
入力された文字: hello
文字を入力(exitで終了):exit
-

5. continue文で次のループへスキップ

5. continue文で次のループへスキップ
5. continue文で次のループへスキップ

continue文は、その回の処理だけをスキップして、次の繰り返しに進むために使います。

偶数だけをスキップして奇数だけ表示する例です。


num = 0
while num < 5:
    num += 1
    if num % 2 == 0:
        continue
    print(num)

1
3
5

6. 入力チェックでwhile文を活用しよう

6. 入力チェックでwhile文を活用しよう
6. 入力チェックでwhile文を活用しよう

while文は、正しい入力がされるまで繰り返すという用途にも向いています。

以下は、年齢が数字かどうか確認する処理です。


while True:
    age = input("年齢を入力してください:")
    if age.isdigit():
        break
    print("数字で入力してください")
print(f"あなたの年齢は {age}歳です")

年齢を入力してください:abc
数字で入力してください
年齢を入力してください:25
あなたの年齢は 25歳です

7. 無限ループの注意点と対策

7. 無限ループの注意点と対策
7. 無限ループの注意点と対策

無限ループは便利な反面、条件を書き間違えると処理が止まらなくなる危険があります。

次のようなコードは、countを増やし忘れているため、永遠に終わりません。


count = 0
while count < 5:
    print(count)
    # count += 1 を忘れてしまった!

実行すると止まらなくなってしまうので、ループの条件や変数の更新には注意しましょう。

8. while文でゲームっぽい処理も書ける

8. while文でゲームっぽい処理も書ける
8. while文でゲームっぽい処理も書ける

while文は「正解するまで繰り返す」といったゲーム的な処理にも使えます。

以下は簡単な数当てゲームの例です。


secret = "7"
while True:
    guess = input("1〜9の数字を当ててください:")
    if guess == secret:
        print("正解です!")
        break
    else:
        print("違います!もう一度!")

1〜9の数字を当ててください:3
違います!もう一度!
1〜9の数字を当ててください:7
正解です!

まとめ

まとめ
まとめ

Pythonのwhile文は、条件が真である限り繰り返し処理を続けられる強力な構文であり、入力チェックやゲーム的な流れ、無限ループを活用した対話処理など多くの場面で役立ちます。とくに条件式の書き方や変数更新の有無によって繰り返しが正しく終了するかどうかが決まるため、プログラム全体の安定性にも関わる重要な要素です。実際の開発では、for文では表現しづらい「いつ終わるかわからない処理」や「状況に応じてループを抜ける処理」を柔軟に書ける点がwhile文の大きな特徴となります。 また、break・continueを使うことで、ループ内の流れを細かく制御し、より複雑な処理構成にも対応できます。breakはループを即座に終了させたいとき、continueは特定の条件のときだけ現在の処理を飛ばしたいときに活用され、入力値の検証や特定条件のスキップなど、効率的なアルゴリズムにつながります。とくに無限ループを使う場合は、適切な終了条件やbreak文の設計が不可欠であり、意図しない停止不能状態にならないよう丁寧な変数管理が求められます。 while文は実践的な場面でも頻繁に使われ、ユーザーが「正しい入力をするまで待つ処理」や「条件達成まで繰り返すロジック」など、多様なプログラムに応用できます。実際、本記事にある数当てゲームのように、ユーザー操作とループの組み合わせによってシンプルながら動きのある処理が実現でき、学習段階でも理解しやすい構造になっています。初心者がwhile文を習得することで、Pythonの制御構文の幅が大きく広がり、実用的なアルゴリズムが書けるようになっていくでしょう。

サンプルプログラム(まとめ用)

以下は、while文・break・continueを組み合わせた総まとめ的な例です。


count = 0
while True:
    count += 1
    if count % 2 == 0:
        continue
    print("現在のカウント:", count)
    if count >= 9:
        break

このサンプルでは、continueで偶数をスキップし、奇数だけを表示しながら、countが一定値に達した時点でbreakでループを終了します。while文の本質である条件制御と繰り返しの流れを理解するうえで非常に良い練習になります。

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

生徒

「今日の内容で、while文がどういうときに便利なのかよく分かりました!条件が真のあいだずっと続けられる仕組みがすごく使いやすいですね。」

先生

「そうですね。とくに入力のチェックや、正しい値が入るまで繰り返す処理では力を発揮します。for文では対応しづらい処理もwhileなら自然に書けます。」

生徒

「無限ループって怖いイメージがあったんですが、breakを使えば安全に抜けられるんですね。またcontinueで一部の処理を飛ばせるのも便利です。」

先生

「その通りです。無限ループは使い方を誤ると止まらなくなることがありますが、正しく制御すれば非常に強力な技術になります。変数の更新や条件の見直しを常に意識しましょう。」

生徒

「数当てゲームの例みたいに、実践的で楽しさのあるプログラムも作れるのが嬉しいです。もっとwhile文を使った練習をしてみたいです!」

先生

「いいですね。while文はプログラミングの幅を広げる重要なステップです。入力処理・条件分岐・繰り返し制御を組み合わせて、より自由なコードを書けるよう練習していきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのwhile文とは何ですか?どんなときに使うのですか?

Pythonのwhile文は、指定した条件がTrueである間、繰り返し処理を実行する構文です。条件が満たされている限り処理が継続されるため、回数が決まっていない繰り返しに向いています。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.6
Java&Spring記事人気No6
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.7
Java&Spring記事人気No7
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.8
Java&Spring記事人気No8
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
-
-