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

Pythonのwhile-else文の使い方!ループ終了後の処理を実装する方法

Pythonのwhile-else文の使い方!ループ終了後の処理を実装する方法
Pythonのwhile-else文の使い方!ループ終了後の処理を実装する方法

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

生徒

「先生、Pythonのwhile文にはelseをつけられるって聞いたんですが、本当ですか?」

先生

「はい、本当です。while-else文はちょっと珍しいけど、Python特有の書き方で、ループが途中で止まらなかったときだけ処理を追加できる便利な仕組みです。」

生徒

「えっ、ループにelse?どういう意味になるんですか?」

先生

「それじゃあ、これからwhile-else文の使い方を、基本からわかりやすく説明していきましょう!」

-

1. Pythonのwhile文とは?

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

まずはwhile文について簡単におさらいしましょう。while文は、ある条件がTrue(真)である間、繰り返し処理を続ける構文です。

例えば、3回だけ「こんにちは」と表示したい場合は次のように書きます。


count = 0
while count < 3:
    print("こんにちは")
    count += 1

count += 1は、「countに1を足す」という意味です。

2. while-else文の基本構文

2. while-else文の基本構文
2. while-else文の基本構文

次に、今回の主題であるwhile-else文の基本構文を見てみましょう。


while 条件:
    繰り返したい処理
else:
    条件がFalseになったときの処理

ここでのポイントは、ループが自然に終わったときだけelseの中の処理が実行されることです。

3. while-else文の具体的な使い方

3. while-else文の具体的な使い方
3. while-else文の具体的な使い方

では、実際の例を見てみましょう。例えば、カウントダウンをして最後に「発射!」と表示したいとき:


n = 3
while n > 0:
    print(n)
    n -= 1
else:
    print("発射!")

3
2
1
発射!

このように、whileの条件がFalse(ここではnが0になった)になったあとにelseが実行されます。

4. break文とwhile-elseの関係

4. break文とwhile-elseの関係
4. break文とwhile-elseの関係

break文を使ってwhileループを途中で終了させた場合elseの中は実行されません。

例えば、ユーザーが正しいパスワードを入力したかチェックするコードを書いてみます。


passwords = ["1234", "abcd", "pass"]
for pw in passwords:
    if pw == "abcd":
        print("正しいパスワードです")
        break
else:
    print("正しいパスワードが見つかりませんでした")

正しいパスワードです

この例では、breakでループが終わったのでelseは実行されません。

-

5. while-elseを使った検索処理の例

5. while-elseを使った検索処理の例
5. while-elseを使った検索処理の例

リストの中に特定の数字があるか探すような処理にもwhile-elseは使えます。


numbers = [3, 7, 9, 12]
i = 0
target = 7

while i < len(numbers):
    if numbers[i] == target:
        print("見つかりました:", target)
        break
    i += 1
else:
    print("見つかりませんでした")

見つかりました: 7

ここでも、見つかったらbreakで終了するため、elseは実行されません。

6. breakがなければelseが実行される

6. breakがなければelseが実行される
6. breakがなければelseが実行される

今度は、探している値が見つからなかった場合を見てみましょう。


numbers = [3, 7, 9, 12]
i = 0
target = 5

while i < len(numbers):
    if numbers[i] == target:
        print("見つかりました:", target)
        break
    i += 1
else:
    print("見つかりませんでした")

見つかりませんでした

このように、breakせずにループが終わると、elseの処理が実行されるのです。

7. while-elseを使う場面と注意点

7. while-elseを使う場面と注意点
7. while-elseを使う場面と注意点

while-else文は、何かを探す処理や、条件付きで途中終了するような処理にとても向いています。

例えば次のようなときに便利です。

  • リストの中から特定の値を探す
  • 繰り返しの中でエラーが出たら処理を止める
  • 繰り返しが最後まで行ったかどうかを知りたい

ただし、複雑すぎるwhile-elseは読みにくくなることもあるので注意しましょう。

まとめ

まとめ
まとめ

Pythonのwhile文とelseを組み合わせた構文は、最初は少し不思議に感じるかもしれませんが、仕組みを理解するととても便利に使える構文です。特に「ループが自然に終了したときだけ特別な処理を行いたい」という場面で役立ちます。一般的なwhile文は条件が真である間は何度も繰り返し実行されますが、while-else文は途中でbreakを使って停止せず、条件がFalseになって終了した場合にだけelseの処理が実行されるという特徴があります。これはPython独特の構文であり、ほかの言語にはあまり見られないため、使いこなすことでPythonならではの表現力が豊かになります。 また、検索処理、エラー検知、カウントダウン、条件分岐を伴う繰り返し処理など、日常的に発生するプログラミングの場面で非常に活躍します。特に値の探索においては、whileループで順番に調べて、見つかればbreakで終了し、見つからなければelseが実行されるという流れがとても読みやすく、実務でもよく使われる書き方です。今回の記事では、基本的なwhile文のおさらいから始まり、while-else文の具体的な構造、breakとの関係、探索処理での実用例などを見ていきました。 さらに、while-else文は単に便利なだけではなく、コード全体の見通しを良くしたり、処理の意図を明確にしたりする効果もあります。特に、特定の条件を満たすものを探す処理では、見つかったときと見つからなかったときの結果を自然に分岐させられるため、Python初心者でも理解しやすい構造になります。以下のサンプルでは、今回学んだ考え方をひとつにまとめて、while-else文の流れを再確認できるようにしています。

while-else文の総まとめサンプル


items = ["りんご", "みかん", "ぶどう", "バナナ"]
index = 0
target = "ぶどう"

while index < len(items):
    print("調査中:", items[index])
    if items[index] == target:
        print("対象の果物が見つかりました:", target)
        break
    index += 1
else:
    print("対象の果物はリスト内に存在しませんでした")

print("検索完了")

このサンプルでは、リスト内の果物を順番に確認し、対象が見つかったときはbreakでループを終了します。一方、最後まで見つからなかった場合はelseの処理が実行される仕組みです。このように、while-else文を使うことで「見つかったとき」と「見つからなかったとき」の分岐を非常に美しく書き分けることができます。Python学習においてwhile-elseを早い段階で理解しておくと、今後のプログラム作成でも応用しやすくなるはずです。特に条件付き検索やループ後処理が必要な場面では、今回の構文がとても役立ちます。 さらに、実際のプログラム開発では、探索処理やログ処理、エラー検知、サーバーへのアクセス制御など、多くの場面でwhile-elseが活用できます。Pythonらしい表現の一つとして覚えておけば、コードの読みやすさや保守性を向上させることにもつながります。今回のまとめでは、while-else文がどのように働き、どのようなメリットがあるかを丁寧に振り返ることで理解がより深まったはずです。これを機に、さまざまな場面でwhile-else文を試しながら、より高度なPythonプログラミングへとステップアップしていきましょう。

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

生徒

「先生、while-else文って思っていたより使いやすいですね!特に検索処理の部分がすごくわかりやすかったです。」

先生

「そうですね。Pythonで検索処理を書くときには、while-else文は定番の書き方です。見つかった場合と見つからなかった場合の両方を自然に書けるというのが大きな特徴なんですよ。」

生徒

「確かに、breakを使ったときと使わないときの違いもすぐ理解できました。elseが動く条件が明確なので、初心者でも覚えやすい構文ですね。」

先生

「その通りです。Pythonのループ構造は直感的に使えるものが多いので、丁寧に理解しておくと後々とても役立ちます。今日の内容は、今後のプログラミングにも必ず活かせますよ。」

生徒

「ありがとうございます!これから書くコードでも、必要なところでwhile-elseを活用してみます!」

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

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

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

Pythonのwhile-else文とは何ですか?初心者でもわかるように教えてください。

Pythonのwhile-else文とは、whileループが自然に終了したときにだけ、elseブロックの処理が実行される構文で、Python特有の書き方です。
コメント
コメント投稿は、ログインしてください

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

カテゴリの一覧へ
新着記事
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
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
-
-