【Python】while文で繰り返し処理(反復)

Pythonでwhile文による繰り返し処理を使う方法をソースコード付きで解説します。

繰り返し処理(while文)

Pythonでは、while文を用いて繰り返し処理を行うことが出来ます。
繰り返し処理とは、ある条件を満たすまで同じ処理を繰り返し行うことです。

while文は、条件式が真(true)である間までブロック内の処理を繰り返します。
条件式が偽(False)になった場合は繰り返し処理を終了します。

書式

while 条件式:
    処理①
    処理②

処理③
  • 条件式
    • 条件式を満たしている状態
    • 条件式を満たしていない状態

動画解説

処理フロー

  1. 条件式が「真」ならば、while文のブロックにある処理①②を実行します。
  2. while文の処理が終わると、再び条件式が「真」かどうか調べます。
    ・真なら手順1に戻ります。
    ・偽ならwhile文のブロック内の処理は行わず、反復を終了して次の処理③へ進みます。

このように、Pythonでは同じインデントがされている文(書式だと処理①②)を同じブロックとして扱います。
インデントとは字下げ(左の空白)のことです。

補足

ちなみに、C言語やJavaだと括弧内{ }が同じブロックとなります。

while (条件式) {
    処理①;
    処理②;
}

Pythonは括弧などを使用せずにインデントだけでブロックを表現するため、より短く記述でき、また必然的にインデントが揃うため見やすいコードとなります。

サンプルコード

サンプルプログラムのソースコードは下記の通りです。

# -*- coding: utf-8
i = 0

while i < 3:
  print(i)
  i = i + 1

print("繰り返し処理を終了します")

【処理フロー】

  1. iの値に0が代入される。
  2. iの値は0、while文の条件式は「i < 3」なので(iの値が3未満である)となり、while文のブロックが実行され、print関数でiの値「0」が表示される。そして、「iの値に1を足した値=1」をiに代入する。
  3. iの値は1でwhile文の条件式は再び(iの値が3未満である)となり、while文のブロックが再び実行され、print関数でiの値「1」が表示される。そして、「iの値に1を足した値=2」をiに代入する。
  4. iの値は2でwhile文の条件式は再び(iの値が3未満である)となり、while文のブロックが再び実行され、print関数でiの値「1」が表示される。そして、「iの値に1を足した値=3」をiに代入する。
  5. iの値は3、でwhile文の条件式は(iの値が3未満でない)となり、while文のブロックは実行されず、その次の処理(print関数で「繰り返し処理を終了します」と表示)が実行される。

【実行結果】

0
1
2
繰り返し処理を終了します

条件式で使える主な比較演算子

条件式で使える主な比較演算子は以下のとおりです。

演算子 意味 説明
< 小なり x < y なら xはyより小さい
<= 小なりイコール x <= y なら xはy以下
> 大なり x > yなら xはyより大きい
>= 大なりイコール x >= y なら xはy以上
== イコール x == y なら xとyは等しい
!= ノットイコール x != y なら xとyは等しくない

関連記事

【Python超入門】使い方とサンプル集
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。

コメント