概要

ここでは、Pythonにおいて、条件が成立する時に反復処理(イテレーション)をするwhile文を記載する。


while文の反復処理

whileの後ろに条件式を記述して末尾にコロンを記述する。
その行の下にインデントで字下げして、実行する処理をブロックとして記述する。

 while 条件式:
     実行コード


以下の例では、while文の無限ループを記述している。
実行した場合は延々と"無限に処理を繰り返す。"メッセージが繰り返し表示される。
無限ループを止めたい場合は、[Ctrl]キー + [C]キーを同時押下して終了させる。

 while True:
     print("無限に処理を繰り返す。")


while文を使用した一般的な反復処理として次のようなサンプルコードがある。

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



break文で反復処理を中止する

何かの条件によって途中で反復処理を中止したい場合がある。
この時、break文を使用すると反復処理を中止して処理を抜けることができる。

以下の例では、変数countが5を超えた場合(変数countが6になった場合)、while文を抜ける。

 count = 0
 while count < 10:
     if count > 5:
         break
     print("カウントは", count, "です。")
     count += 1
 
 # 出力
 0
 1
 2
 3
 4
 5



continue文で次の反復処理を行う

continue文を使用すると、特定の処理だけ行わずに再び反復処理を行うことができる。

 count = 0
 while count < 10:
     if count > 5:
         break
     if count == 3:
         count += 1
         continue
     print("カウントは", count, "です。")
     count += 1
 
 # 出力
 0
 1
 2
 4
 5



else文とbreak文の組み合わせ

while文での反復処理が完了した後、何か別の処理を実行する場合は、else文と組み合わせる。

 count = 0
 while count < 10:
     print("カウントは", count, "です。")
     count += 1
 else:
     print("反復処理は正常に完了しました。")


次に、以下の例を見ると、break文で反復処理を抜けた場合は、else文は実行されない。
これは、break文は完全に反復処理を抜けるからである。

実務、何かキーワードを検索する処理をした時、見つかった場合はbreak文を実行して、見つからなかった場合はelse文で処理を行う場合に使用する。

 count = 0
 while count < 10:
     if count > 5:
         break
     print("カウントは", count, "です。")
     count += 1
 else:
     print("反復処理は正常に完了しました。")