Pythonガイド

【実例で学ぶ】Pythonのwhileを分かりやすく解説!

Pythonのwhileループは、特定の条件が満たされている間、同じ処理を繰り返すための便利な機能です。

プログラムの自動化や繰り返し作業に適しており、初心者から上級者まで幅広く使われます。

この記事では、Pythonのwhileループについて、基本的な使い方から注意点まで詳しく解説します。

whileループの基本構文

この章では、whileループの基本構文を以下の通りに解説していきます。

  • whileループの書き方
  • ループの終了条件

1つずつ詳しく見ていきましょう。

whileループの書き方

Pythonのwhileループは、特定の条件が満たされている間、同じ処理を繰り返すための構文です。

このループは、指定した条件がTrueである限り続き、条件がFalseになると終了します

基本的な構文は次のように書きます。

たとえば、1から5までの数を表示したい場合、次のように記述します。

このコードの動きは、countが5以下の間、ループが繰り返されるというものです。

countは毎回1ずつ増加し、条件がFalse(つまりcountが6以上)になった時点でループは終了します。

このようにwhileループは条件を設定して繰り返し処理を行いたい時に役立ちます

シンプルな構文で使いやすいので、さまざまな場面で活用可能です。

ループの終了条件

whileループでは、終了条件をしっかりとした設定が重要です。

適切に終了条件を設けないと、ループが永遠に続く「無限ループ」になる可能性があります

whileループの条件が常にTrueである場合、ループは止まらず、プログラムが正しく動作しない原因となるのです。

無限ループを防ぐために、終了条件を設定したり、break文を使ったりする方法があります。

例えば、whileループで無限に数字をカウントしたい場合、break文を使って特定の条件でループを抜け出せます。

このコードでは、countが5を超えた時点でbreak文が実行され、ループが終了します。

こうして終了条件をしっかり設定すると、意図しない動作を防げるため、プログラムがスムーズに動くようになります。

whileループの例

この章では、whileループの例を以下の通りに解説していきます。

  • 変数の初期化と条件の評価
  • ループの繰り返し処理

1つずつ詳しく見ていきましょう。

変数の初期化と条件の評価

Pythonでwhileループを使うとき、まず必要なのが変数の初期化と条件の設定です。

変数の初期化とは、ループが始まる前に操作する変数の初期値の設定のことです

この初期化を行うと、ループの進行を管理しやすくなります。

たとえば、1から5までの数を表示するには、最初に変数countに1を代入します。

そして、whileループの条件としてcount <= 5を設定すると、countが5以下である間だけループが実行可能です。

以下のコードは、countが1から5までの間、値を表示し続ける例です。

このコードでは、countが5以下であるかを毎回確認し、条件がTrueの間だけループが繰り返されます。

こうした初期化と条件の設定により、無駄のない繰り返し処理を実現できます。

ループの繰り返し処理

whileループでは、指定した条件がTrueの間、同じ処理が繰り返されます。

1から5までの数を表示するコードでは、毎回countの値を表示し、その後count += 1によってcountが1ずつ増加します。

このようにループ内で変数を更新すると、ループが無限に続かず、正常に終了が可能です。

以下のコードで、whileループがどのように繰り返し処理を行っているかを確認してみましょう。

このコードでは、countが1のとき、2のとき、3のとき、といった具合に、countが5になるまで表示されます。

5を表示した後、countが6となり、count <= 5の条件がFalseになるためループが終了します。

これにより、意図した範囲内での繰り返し処理が実現可能です。

このようにwhileループでは、条件を満たしている限り同じ処理が繰り返されるため、状況に応じた制御が可能になります。

無限ループとその対処法

この章では、無限ループとその対処法を以下の通りに解説していきます。

  • 無限ループの例
  • break文を使ったループの終了方法

1つずつ詳しく見ていきましょう。

無限ループの例

whileループを使うときに注意したいのが「無限ループ」です。

無限ループとは、終了条件が設定されずにループが永久に続く状態のことを指します

このようなループはプログラムが停止しないため、意図しない動作となりがちです。

無限ループを発生させないためには、条件設定を適切に行うことが大切です。

以下に無限ループの例を示します。

このコードでは、while True:の部分が常にTrueであるため、ループが無限に続きます。

whileの条件が常にTrueだとループが終了せず、プログラムがずっと同じ処理を繰り返してしまいます。

このような無限ループは意図的に使われる場合もありますが、初心者には誤って発生させてしまうことも多いので注意が必要です

無限ループに気づいた場合は、プログラムの中断や改善策を取ることが求められます。

break文を使ったループの終了方法

無限ループを防ぐ方法のひとつに、break文を使う方法があります。

break文は、ループ内の処理を中断し、ループの外に出るための命令です

特定の条件が満たされたときにbreak文を使用すると、無限ループを意図的に制御できます。

以下の例では、1から数をカウントし、5を超えた時点でbreak文を使ってループを終了しています。

このコードでは、countが1から始まり、毎回count += 1で1ずつ増えます。

そして、countが5を超えた時点でif count > 5:の条件が成立し、break文が実行されてループが終了します。

こうして特定の条件でループを抜け出せるようになるのです。

break文をうまく活用すれば、無限ループを意図的に制御し、プログラムがスムーズに動作するようにできます。

おわりに

Pythonのwhileループは、条件がTrueである限り、同じ処理を繰り返すために使用される強力なツールです

適切に使えば、効率的にコードを自動化できますが、条件設定に注意しないと無限ループが発生する恐れがあります。

whileループの基本的な使い方と注意点を理解し、プログラム作成に役立ててください。

なお、Pythonを挫折せずに学びたい方には以下の記事がおすすめです。

現役のPythonエンジニアがおすすめのプログラミングスクールを2つ厳選しました。

ぜひご覧ください!

-Pythonガイド