12. 繰り返し処理(While文)

図解!Python while文のelseでループ後の処理方法を徹底解説!

更新日:

while文とは、繰り返し処理の1つで、指定された条件式がTrueの間は処理が繰り返し実行されます。そして、条件式がFalseになった時にwhile文は終了します。

 
このwhile文の繰り返し処理が全て実行された後に特定の処理を行いたい場合はelseを利用します。

 
このページでは、Pythonにおけるwhile文の様々な使い方の中でも、elseの使い方について、具体的な例も交えながら確認していきます。

 
else以外のwhile文の詳しい説明は、「図解!Python while文のループ処理を徹底解説!」を参照ください。

 

Pythonにおけるwhile文の記述方法

まずはwhile文の基本的な記述方法からおさらいしていきましょう。while文とは、for文と同様、繰り返し処理の1つです。

条件式を指定し、その条件式がTrueの間はWhile文のブロック内の処理が繰り返し実行されますが、条件式がFalseになった時にwhile文は終了します。

記述方法は以下のとおりです。

while文に含まれる処理は、インデント(字下げ)して記述します(通常、インデントには半角スペース4つが使われます。)。処理が複数行ある場合も、全てインデントします。

インデントが終わると、while文の一連の処理は終わります。また条件式の後には、必ず :(コロン)を付けてください。

 
for文とwhile文は同じ繰り返し処理ですが、次の点が異なります。

  • for文は回数を指定して、指定した回数分の繰り返し処理を行います。
  • 一方でwhile文は、条件を指定して、その条件がTrueの間は繰り返し処理を行い、Falseになれば繰り返し処理を抜けます。

for文の詳しい説明は、「図解!Python for ループ文の徹底解説」を参照ください。

 
 
それではwhile文の例を見ていきましょう。

 
変数iに0を初期値として代入し、while文の条件としてiが3未満を指定しています。そして、printでiの値を表示し、iに1を加算しています。

0
1
2

iが3になるまでは、指定された条件がTrueですので繰り返し処理を行う事になります。従ってprintで表示されるiの値は、0から2までになります。

 
この基本的な使い方を元に、elseの使い方を詳しく確認していきます。

 
 

繰り返し処理後に特定の処理を実行する方法(while else)

while文のよる繰り返し処理が全て実行された後に特定の処理を行いたい場合はelseを利用します。
 
elseの記述方法は、次のとおりです。
 

while文の後にelseを記述します。else文に含まれる処理は、インデント(字下げ)して記述します(通常、インデントには半角スペース4つが使われます。)。処理が複数行ある場合も、全てインデントします。またelseの後には、必ず :(コロン)を付けてください。

 
通常はbreakと合わせて利用し、while文の繰り返し処理が全て実行された場合には特定の処理が実行され、while文の処理がbreakにより抜けた場合は、特定の処理は実行しないというように使います。

 
 
今度はelseの例を見てみましょう。
 
変数aに0を代入し、while文でaに1を加算し、変数aの内容をprint()で出力しながら、10になるまで繰り返し処理をします。この処理の途中、if文で変数aを3で割った余りが0、つまり3の倍数になった場合、処理を中止するようbreakを挿入します。

 
今度はwhile文にはelseが付いており、breakでループが中断されなければ、print("elseの処理です。")の処理が実行されるようになっています。

1
2

すると処理結果として、1、2と表示され、"elseの処理です。"は表示されませんでした。3になった時点でbreakによりループを抜けているので、elseの処理は実行されませんでした。

 
 
次にwhileの条件式をa < 2に変更し、3の倍数でbreakが行われる前に、whileの繰り返し処理が終わるようにしてみます。

1
2
elseの処理です。

すると今度は、"elseの処理です。"も表示されました。breakが実行される前にwhileの繰り返し処理が終わっているので、elseの処理が実行されました。

 

ポイント

このようにして、whileの繰り返し処理がbreakで抜けずに終わった時に特定の処理を実行したい場合、elseを利用して記述することができます。

 
 
関連記事です。
whileについてelse以外の詳しい説明はこちらをご覧ください。

 
 
Pythonに関する重要なトピック全般について学んでいきたいと考えておられる方には、次のリンクをお勧めします。
 






まとめ記事

1

Python3におけるWEBスクレイピングのやり方について初心者向けに解説した記事です。   Requests、Beautiful Soup、Selenium、Pandas、newspape ...

2

Pythonの基本的なトピックについて、チュートリアル形式で初心者向けに解説した記事です。プログラミング未経験者や初心者でもわかりやすいよう、丁寧に解説しています。   Pythonでデータ ...

3

Pandas(パンダス)とは、データを効率的に扱うために開発されたPythonのライブラリの1つで、データの取り込みや加工・集計、分析処理に利用します。   Pandasには2つの主要なデー ...

4

データ分析、機械学習、ディープラーニングにはグラフの描画による可視化は不可欠です。データは、加工前の状態ではただの数字の羅列でしかなく、一目で必要な情報が伝わるものではありません。それを集計しグラフに ...

5

NumPy(ナンパイ)は、数値計算を効率的に行うための拡張ライブラリです。ベクトルや行列などを効率的に数値計算するための数学関数ライブラリを提供します。NumPyを使うことにより、数値計算をより早く、 ...

-12. 繰り返し処理(While文)

Copyright© AI-interのPython3入門 , 2020 All Rights Reserved.