※こちらの記事は、プロスタ編集部が現在大変人気の高いPythonの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。
参考サイト:[【Python入門】while文(繰り返し処理)の使い方]
(http://programming-study.com/technology/python-while/)
【Python入門】while文(繰り返し処理)の使い方
Pythonに限らず、プログラミングの基本は「条件分岐」と「ループ処理」です。Pythonでの条件分岐にはif文、ループ処理には「for文」と「while文」の2つの種類があります。今回はwhile文についてご紹介します。
while文は主に、「無限ループ」や「ある条件の間繰り返す」といった処理によく使われます。
目次
1 while文の書き方
2 while文を使ってみる
3 breakを使ってみる
while文の書き方
while 条件式:
繰り返したい処理
という書き方をします。
「条件式」の部分には名前のとおり、条件を書きます。その条件式がTrueとして評価されている間、延々と「繰り返したい処理」を行います。
例えば、以下のような場合ですが
while 条件式:
処理A
処理B
この場合は、処理Aが繰り返され、条件式がFalseになったら繰り返しが終わり、処理Bへと移ります。
繰り返しが行われるのは、あくまでwhileのブロックです。
while文を使ってみる
1から5までを表示するwhileループを作ってみましょう。
index = 1
while index <= 5:
print(index)
index += 1
print("終了")
1
2
3
4
5
終了
処理の流れは以下のようになります。
1行目 index = 1 で、変数indexに1を代入する
2行目 while index <= 5:は、indexが5以下(5のときも含む)の間はwhileブロックを実行する、という意味です。
現在のindexは1なので、5以下です。3行目へ移ります。
3行目 print(index) indexを表示します。現在はindexに1が入っているため、1が表示されます。
4行目 index変数に、1を足します。この時点で、index変数の値が2になります。
2行目へ まだindex変数は2です。5以下なので、また3行目へ
この後、index += 1で6になるまで同様の続きます。
2行目 indexが6で、5以下ではありません。なので、3行目には行かず5行目へ飛びます。
breakを使ってみる
whileループでは、break文を使うことでループから抜けることができます。
先ほどの例を改造し、以下のようにしてみます。
index = 1
while index <= 5:
print(index)
index += 1
break
print("終了")
4行目のindex += 1までは同じなのですが、5行目のbreak のところまでいくと、すぐさまループを抜け、6行目に移ります。
そのため、結果は以下のようになります。
1
終了
今までは
while 条件式:
処理A
という書き方をしていますが、このbreakを使うことで
while True:
if 条件式:
break
処理A
という書き方ができるようになります。
while Trueで無限ループをしつつ、中のif文でbreakし、ループを抜けるという方法です。この方法もよく使われるので、ぜひ覚えておきましょう。