6-2. Pythonのwhile文によるループ処理


1. ループ処理とは?

繰り返し処理のことをループ処理と言います。
Pythonにはfor文でループ処理を書くことができますが、while文でもループ処理を書くことができます。

Pythonのfor文ループ処理については以下のページで解説しています。
▶︎ Python for文によるループ処理


2. while文の書き方

while文の場合、条件に当てはまっている間は処理を繰り返し、条件に当てはまらなくなった時点で繰り返し処理を終了するという動作になります。

  • whileの後に条件文を書く
  • 条件文の後に:をつけて改行し、インデントをつけて繰り返す処理を書く
while 条件文:
    条件が真の時の処理


例えば、1ずつ加算されていく x が10以下の場合は x を表示するwhile文は以下のように書きます。

x = 7
while x <= 10:
    print(x)
    x += 1

>> 7
>> 8
>> 9
>> 10

3. while…elseの書き方

whileの条件に当てはまらない場合の処理をelseで記載することができます。
whileを抜ける時に一度だけelseに記載された処理が動きます。

while 条件文:
    条件が真の場合の処理
else:
    条件が偽の場合の処理


例えば、1ずつ加算されていく x が10以下の場合は x を表示し、10より大きくなったら、xの値と’whileの条件に当てはまりませんでした’という文言を表示するような、while…else文は以下のように書きます。

x = 7
while x <= 10:
    print(x)
    x += 1
else:
    print(x, 'whileの条件に当てはまりませんでした')


>> 7
>> 8
>> 9
>> 10
>> 11 whileの条件に当てはまりませんでした

4. while文を使う時の注意点

ループ処理はfor文でもwhile文でもかけるのですが、繰り返し処理の回数が決まっている場合やリストや集合などに対して繰り返し処理を実施する場合はfor文を使います。

while文を使うケースは少ないのですが、使う場合は無限ループに注意しましょう。
無限ループとは、条件がFalseにならず、ある処理ずっと繰り返し続けてしまうことです。

例えば、以下のコードは無限ループになります。

while 1:
    print('a')


想定していない無限ループを発生させないためにも、ループ処理はできればfor文で、whileの場合は無限ループに気をつけるということを覚えておきましょう。


5. Python 公式ドキュメント


このエントリーをはてなブックマークに追加