Pythonのwhileループの使い方

python
記事内に広告が含まれています。

Pythonでは、繰り返し処理を効率的に行うためにwhileループがよく使用されます。

whileループは、条件がTrueの間、指定したブロックのコードを繰り返し実行します。

これにより、繰り返し処理が自動化され、手動の操作を減らすことができます。

この記事では、Pythonのwhileループを用いた基本的な使い方から、応用的な活用方法までを詳しく解説していきます。

DMM WEBCAMP
  • 未経験者向けプログラミングスクール
  • 現役エンジニアがしっかりサポート
  • 卒業後も安心の転職・副業サポート

Pythonのwhileループとは?

Pythonのwhileループは、条件がTrueである限り、ブロック内のコードを繰り返し実行します。

このループを使用することで、終了条件を満たすまで同じ処理を何度も実行することが可能です。

特に、条件によってループの終了タイミングが変わる場合や、外部からの入力に応じて処理を繰り返したい場合に便利です。

基本的な構文は次の通りです。

whileループの基本的な使い方

whileループの基本的な構文は次の通りです。

while 条件:
    # 実行するコード

「条件」がTrueである限り、ループ内のコードが繰り返し実行されます。

例えば、以下のコードでは、カウントが5になるまでループが続きます。

count = 0
while count < 5:
    print(count)
    count += 1

このコードでは、0から4までの数字が順番に出力されます。

無限ループに注意

whileループを使う際に気をつけなければならないのは、条件が常にTrueのままになると、ループが終了しない無限ループに陥る可能性があることです。

無限ループを防ぐためには、条件が適切にFalseに変わるように制御する必要があります。

例えば、カウントが増え続けることで条件がFalseになるように設定することで、無限ループを防ぎます。

break文を使ってループを終了

whileループの途中で条件を満たした際にループを強制的に終了させるには、break文を使用します。

次のコードでは、カウントが3に達した時点でループが終了します。

count = 0
while True:
    print(count)
    count += 1
    if count == 3:
        break

この例では、countが3になった時点でbreak文が実行され、ループが終了します。

CodeCamp
  • 現役エンジニアからスキルを学べる
  • 満足度は驚異の97.4%
  • 300社以上のIT企業で研修に導入
  • 毎日9時〜21時まで、無料カウンセリングを開催中!

whileループの応用例

whileループは、様々な場面で活用できる便利な制御構文です。

ここでは、応用的な使い方をいくつか紹介します。

ユーザー入力を待機するループや、特定の条件を監視するループなど、より実用的なケースを見ていきましょう。

ユーザー入力を待つループ

whileループを使って、ユーザーが「exit」と入力するまでプログラムを繰り返す例です。

user_input = ""
while user_input != "exit":
    user_input = input("Type 'exit' to quit: ")
    print(f"You typed: {user_input}")

このプログラムでは、ユーザーが「exit」と入力するまで、入力内容を繰り返し表示します。

whileループは、ユーザーの入力に応じてプログラムの動作を制御する際に非常に便利です。

特定条件を監視するループ

whileループは、特定の条件を監視する際にも使用されます。

例えば、センサーからのデータを監視し、特定の範囲内であれば処理を続けるというケースです。

次のコードでは、ランダムな値を生成し、値が特定の範囲外になるまでループを続けます。

import random
value = random.randint(0, 10)
while value < 8:
    print(f"Value is {value}, still under 8.")
    value = random.randint(0, 10)

この例では、ランダムに生成された値が8未満である限り、ループが続きます。

continue文でループをスキップ

whileループ内で特定の条件を満たした際に、残りの処理をスキップして次のループに進みたい場合には、continue文を使用します。

次のコードでは、カウントが偶数の場合は表示をスキップし、奇数の場合だけ表示します。

count = 0
while count < 10:
    count += 1
    if count % 2 == 0:
        continue
    print(count)

このコードでは、1, 3, 5, 7, 9が出力され、偶数はスキップされます。

【リモートワークには必須】
キャリアに合わせてお得に光回線を利用しよう
ドコモ光
開通後、最短一ヶ月で35,000円のキャッシュバック!
 
auひかり
難しい条件一切なしで、最大12,7000円のキャッシュバック!
 
ソフトバンク光
高額キャッシュバックや豪華特典をお届け!

whileループのエラー対策

whileループを使用する際には、エラーハンドリングも重要です。

特に、無限ループや外部からの入力に依存する場合には、適切なエラーハンドリングを行うことで、プログラムが正常に動作し続けることを確保できます。

ここでは、whileループでよく発生するエラーや、その対策方法について説明します。

入力エラーを防ぐ

ユーザー入力を扱う際には、予期しない値が入力されることがあります。

そのため、エラーハンドリングを活用して予期しないエラーを防ぐことが重要です。

例えば、数値の入力が必要な場合、次のようにエラーチェックを追加できます。

while True:
    try:
        user_input = int(input("Enter a number: "))
        break
    except ValueError:
        print("Invalid input, please enter a number.")

このコードでは、数値以外が入力された場合にエラーメッセージが表示され、再度入力を促します。

ループ終了条件の確認

whileループを使用する際には、終了条件を適切に設定しないと無限ループに陥ることがあります。

終了条件を確認することで、予期せぬ動作を防ぐことが可能です。

ループの終了条件が必ずTrueからFalseに変わることを確認し、適切に設定するようにしましょう。

デバッグ時のbreak文の活用

whileループが予期せず続く場合、デバッグの際にbreak文を活用することで、ループを一時的に終了させ、問題を特定できます。

break文を使って、途中でループを強制終了することで、ループが無限に続く場合に原因を探ることができます。

プログラミングスクール受講時には教育訓練給付制度を利用することで、受講料の最大80%の給付を受けることが可能です。

Pythonでの繰り返し処理の他の方法

whileループ以外にも、Pythonでは繰り返し処理を行うための方法がいくつか存在します。

forループや再帰を使用することで、より柔軟な繰り返し処理が可能になります。

ここでは、whileループと他の繰り返し構文の違いについて紹介します。

forループとの違い

forループは、繰り返し回数があらかじめ分かっている場合や、リストやタプルなどのコレクションの要素を順番に処理する場合に使われます。

一方、whileループは、終了条件が明確でない場合や、動的に変化する場合に適しています。

for i in range(5):
    print(i)

このforループでは、0から4までの数字が順番に出力されます。

再帰による繰り返し

再帰を使った繰り返しも、whileループの代わりとして使われることがあります。

再帰は、関数が自分自身を呼び出すことで、同じ処理を繰り返します。

再帰は、特定の問題に対して効果的に使用できますが、無限ループに注意が必要です。

def countdown(n):
    if n == 0:
        print("Liftoff!")
    else:
        print(n)
        countdown(n - 1)

countdown(5)

この再帰関数では、カウントダウンを行い、0になったら終了します。

リスト内包表記を使った繰り返し

リスト内包表記を使えば、繰り返し処理を簡潔に記述できます。

例えば、リスト内の数値を2倍にする操作を行う場合、次のようにリスト内包表記を使用できます。

numbers = [1, 2, 3, 4, 5]
doubled = [x * 2 for x in numbers]
print(doubled)

このコードでは、リスト内の数値が2倍され、新しいリストとして出力されます。

techgym
  • 20000人が学んだpythonの教材
  • 正しい情報をまとめて入手
  • 様々なゲームを作成しながら楽しくpythonが身に付く
  • 自主学習派はこれ一択!

今なら1年間有効なzoomサポート付き!

まとめ: Pythonのwhileループの効果的な活用法

Pythonのwhileループは、柔軟な繰り返し処理を可能にする強力なツールです。

無限ループを避けるための注意点や、breakやcontinueを使った応用的な使い方を理解することで、より効率的にプログラムを作成できます。

また、他の繰り返し処理との使い分けを意識することで、様々なシチュエーションで最適な処理を選択できるようになります。

この記事を参考にして、Pythonのwhileループを最大限に活用してみてください。

【給付金が受けられる】おすすめプログラミングスクール!
  • DMM WEBCAMP
    転職成功率98%&離職率2.3%
    転職できなければ全額返金DMM.comグループならで非公開求人も多数
  • テックアカデミー
    【転職保証】受講生の100%が内定獲得!9割以上が未経験からスタート!LINEヤフー監修&万全サポート
  • Aidemy Premium
    【給付金利用の相談歓迎】AI・データ分析学ぶならAidemy Premium
  • ウズウズカレッジ
    初心者・文系出身者でもOK、IT未経験からの専門的な就業サポート

コメント

タイトルとURLをコピーしました