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節が実行され、”ループが正常に終了しました。”というメッセージが表示されます。
