Pythonでは、for
ループやwhile
ループにelse
節を追加することができます。このelse
節は、ループが正常に終了したときに実行されるコードを定義します。つまり、break
文でループが中断された場合はelse
節は実行されず、通常の繰り返しが終わった場合にのみ実行されるのです。
まずは、for
ループの例を見てみましょう。以下のコードでは、リストの要素を順に表示し、最後にelse
節が実行されることを確認します。
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
else:
print("すべての番号を処理しました。")
numbers
というリストを定義しています。for
ループで、リストの各要素に対して処理を行います。else
節が実行され、「すべての番号を処理しました。」というメッセージが表示されます。この場合、for
ループはリストのすべての要素を正常に処理したため、else
節が実行されます。
次に、break
文を使った場合の挙動を確認しましょう。以下のコードでは、特定の条件を満たすとループが中断され、その後にelse
節が実行されないことを示します。
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num == 3:
print("3が見つかりました。ループを中断します。")
break
print(num)
else:
print("すべての番号を処理しました。")
numbers
リストを再び使用しています。for
ループ内で、数字が3の時にbreak
文を実行します。else
節は実行されず、「すべての番号を処理しました。」というメッセージは表示されません。このように、break
文でループが中断されると、else
節はスキップされます。
while
ループでも同様にelse
節を使用することができます。次の例を見てみましょう。
count = 0
while count < 5:
print(count)
count += 1
else:
print("カウントが完了しました。")
count
を0で初期化しています。while
ループは、count
が5未満の間、実行されます。count
の値を表示し、1ずつ増加させます。else
節が実行され、「カウントが完了しました。」というメッセージが表示されます。最後に、while
ループでbreak
文を使用した場合の例を示します。
count = 0
while count < 5:
if count == 3:
print("3に到達しました。ループを中断します。")
break
print(count)
count += 1
else:
print("カウントが完了しました。")
count
を0で初期化し、while
ループを使用しています。count
が3の時、break
文が実行され、ループが中断されます。else
節は実行されません。else
節を持つループは、ループが正常に終了した場合にのみ実行されます。break
文を使用してループを中断すると、else
節はスキップされます。for
ループとwhile
ループの両方でelse
節を使用できます。このように、else
節を持つループは、ループの終了状態に応じて異なる処理を行うことができる非常に便利な機能です。これを活用して、より柔軟なプログラムを作成できるようになるでしょう。