Pythonの while 文による繰り返し処理、これから始めようとする初心者向けに分かりやすく解説|Python入門(7)

Python
この記事は約4分で読めます。

はじめに

 前回のPython入門(6)では、Pythonの論理演算子とプール型について学びました。

 Python入門の第七弾として、Pythonの while 文による繰り返し処理について紹介します。

  この記事を読むと次の疑問について知ることができます。

 それでは、Pythonの while 文による繰り返し処理をこれから始めようとする初心者向けに分かりやすく解説していきます。

繰り返し処理

 Pythonのプログラムでは、他のプログラム言語と同様に次の3つの処理の組み合わせで実行されます。

  1. 順次処理
    上から順番に下に向かって処理が進みます。
  2. 分岐処理
    条件式により分岐して処理が進みます。
  3. 繰り返し処理(反復処理)
    条件式の条件を満たす間は同じ処理を繰り返したり、一定の回数処理を繰り返します。

 今回は、「3.繰り返し処理(反復処理)」について紹介していきます。

 Pythonでは、この繰り返し処理をする文に、while 文 for 文があります。

 ここでは、while 文について紹介していきます。

while 文による繰り返し処理

 while 文による繰り返し処理は、条件式の条件を満たしている間は while 文以下の処理を繰り返します。

while 条件式 :
    処理1
  処理2
   :
while 文を書く上で注意すること

  1. while 条件式の後に忘れずに「:」を入れること
  2. while 以下の処理部分(while節)は、4文字分字下げすること

 ここで簡単な while 文の例を紹介しましょう。

 以下のGoogle ColabでのPythonプログラムは、初期値としてsuti = 0 とし、while文の条件式で suti <= 10 とすることにより、suti が10を超えるまでsuti の2乗を計算し、その結果をプリントするというプログラムを書いてみました。

無限ループになった場合の対処法

 while 文で繰り返し処理のプログラムを書いていると、場合により無限ループになるコードを書いてしまうことがあります。

 そのような場合に、Google Colabではプログラムを実行「黒丸に白▷」のマークをクリックすることにより無限ループから抜け出す(終了する)ことができます。

 例えば、次に様なプログラムは無限ループとなります。

 上述のプログラムは実行している状態であり。左のマークの外側がぐるぐる回りますので、その「ぐるぐる回るマーク」をクリックすると、以下のように無限ループを抜け出すことができます。

break 文によるループの抜け出し

 プログラム上でループを抜け出したい場合は、「break 文」を利用します。

 例えば、次のプログラムは上述の無限ループを抜け出すためにbreak文を利用しています。

 上述のプログラムでは、suti が 50 になったら、while文を抜け出し、その時の suti を出力するプログラムとなっています。

continue 文

 continue文は、while文のの中で利用されると、continue文の以下の処理を中止して、while文の先頭に戻りやり直すことができます。

 つまり、ある条件の時は以下の処理をやらずに飛ばして再度実行することができます。

 以下の Python プログラムは、while 文で11回し、その都度 suti を出力するプログラムですが、途中で if 文により suti が 2 と 5 の場合を飛ばしていますので、出力結果は、2 と 5 が除かれた出力となっています。

while else の利用 

 while と一緒に else を利用すると、while そ処理が終了した後で else 以降の処理を実行することができます。

 以下は、初期値として suti = 0 とし、while 文で繰り返し処理を実行し、毎回 suti を1 を足しその数値を出力し、suti が 10 になったら終了し、その後 else 以降の処理を実行するプログラムです。

 それほど利用する機会はないと思いますが、 break文と一緒に利用することが一般的です。

 break 文と一緒に利用することにより、while文の繰り返し処理が全て実行された場合には「特定の処理(else節の処理)が実行され、while文の処理がbreakにより抜けた場合は、特定の処理(else節の処理)は実行しない」と言うように使います。

 上述のプログラムは、break 文により途中で suti が 5 になったらwhile文を抜け出す処理であり、その際にはelse節以降の処理が行われません。

おわりに

 如何だったでしょうか?

 while 文による繰り返し処理、break文、continue文、else節などについて解説してきました。

 この記事を読みながらPythonを学んでもらえればと思います。

 次をお楽しみに?

以上です。

 

コメント

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