Python 反復処理 #3 while

株式会社リュディアです。引き続き反復処理、いわゆるループについてまとめていきます。今回も引き続き while についてまとめてみます。

前回までの反復処理のまとめへのリンクは以下を参考にしてください。

while にはループ処理を終了した後に実行する処理を記述する else を使うことができます。以下の構文に従います。

while 条件式:
    処理したい内容
else:
    ループ終了後に処理したい内容

while の条件式が True である間は反復処理を行い、反復処理終了後の処理内容を else に記載します。では具体的なコードを見ていきましょう。

i = 0
while i < 5:
   print(i)
   i = i + 1
else:
   print('Else outside loop')

print('Finished loop')

>> 0
>> 1
>> 2
>> 3
>> 4
>> Else outside loop
>> Finished loop

while ループで i < 5 が True である間は反復処理を行います。その後 i == 5 になるとループを抜け、後処理である else の処理を行います。では else を持つ while 文に対して break と continue を同時に使うとどのように分岐するか確認してみましょう。break を使った以下の例を見てください。

i = 0
while i < 5:
   if i == 3:
       i = i + 1
       break
   print(i)
   i = i + 1
else:
   print('Else outside loop')

print('Finished loop')

>> 0
>> 1
>> 2
>> Finished loop

i == 3 で break を処理します。break した後に else 文に分岐していないことがわかりますね。else 文は while ループの一部なので break でループを抜ける場合は else もスキップします。では、次に continue を使った以下の例を見てください。

i = 0
while i < 5:
   if i == 3:
       i = i + 1
       continue
   print(i)
   i = i + 1
else:
   print('Else outside loop')

print('Finished loop')

>> 0
>> 1
>> 2
>> 4
>> Else outside loop
>> Finished loop

i == 3 で continue を処理します。continue はループの先頭に戻るので i == 3 の時の print 文のみがスキップされて、それ以外の処理はすべて行われます。またループも最後まで実行されるので else も実行されます。

これら 3 つの例の動きを図にすると以下のようになります。

画像1

前回のまとめ記事も含め break, continue の動作を理解いただけましたでしょうか。

反復処理に関するまとめの続きは以下からどうぞ。

では、ごきげんよう。


この記事が気に入ったらサポートをしてみませんか?