Pythonのwhile文におけるelse節の使い方
Pythonの制御フローの中で、while
文は非常に重要な役割を果たします。多くのプログラマがwhile
文を使用してループを制御しますが、else
節を組み合わせることで、さらに柔軟な処理が可能になります。この記事では、while
文におけるelse
節の動作を詳しく解説し、実用的な例を提供します。
while文とelse節の基本構造
まず、while
文とelse
節の基本的な構造を理解しましょう。while
ループが正常に終了したとき、つまりループ条件が偽になったときにelse
節が実行されます。break
文でループを抜けた場合、else
節は実行されません。
count = 0 while count < 5: print("Count is:", count) count += 1 else: print("Loop finished without break")
このコードでは、count
が5未満の間、ループが実行されます。ループが正常に終了すると、else
節が実行され、「Loop finished without break」というメッセージが表示されます。
break文とelse節の関係
break
文を使用してループを中断した場合、else
節は実行されないことに注意が必要です。この特性を利用して、特定の条件でループを終了し、それ以外の場合にのみ処理を続けることが可能です。
count = 0 while count < 5: print("Count is:", count) if count == 3: print("Breaking the loop") break count += 1 else: print("Loop finished without break")
この例では、count
が3になるとbreak
文が実行され、ループが中断されます。そのため、else
節は実行されません。
実用的な例:素数判定
while
文とelse
節を組み合わせることで、素数判定のような実用的なプログラムを作成することができます。
number = 29 is_prime = True i = 2 while i <= number // 2: if number % i == 0: is_prime = False break i += 1 else: is_prime = True if is_prime: print(f"{number} is a prime number") else: print(f"{number} is not a prime number")
このコードでは、29が素数かどうかを判定しています。while
ループが正常に終了すると、else
節が実行され、is_prime
がTrue
に設定されます。break
文が実行されると、else
節はスキップされ、is_prime
はFalse
のままです。
まとめ
Pythonのwhile
文におけるelse
節は、通常のループ終了時にのみ実行される特別なブロックです。break
文との組み合わせにより、より柔軟な制御フローを実現できます。この記事で紹介した例を参考に、while
文とelse
節を活用して効率的なプログラムを作成してみてください。
Pythonのwhile文におけるelse節は、whileループが終了した際に実行されるブロックです。通常、while文は条件式が真の間ループを続けますが、条件式が偽になった場合にelse節が実行されます。つまり、while文が正常に終了した場合にelse節が実行されるという特性があります。
例えば、以下のコードを考えてみましょう。
“`python
count = 0
while count < 5:
print(count)
count += 1
else:
print(“ループが正常に終了しました。”)
“`この場合、countが5未満の間はループが続き、countが5になった時点で条件式が偽となりループが終了します。その際にelse節が実行され、”ループが正常に終了しました。”というメッセージが表示されます。