Pythonでは、ループから抜け出すための break
とプログラムを終了するための exit()
があります。これらは似ているようでいて、実際の挙動は大きく異なります。
break
の挙動
break
はループ(for
や while
)の中で使用され、ループを終了します。しかし、ループを抜けてもプログラム自体は終了せず、その後のコードが実行されます。
exit()
の挙動
一方、exit()
はプログラム全体を終了します。exit()
が呼び出されると、その時点でプログラムの実行が停止し、制御がオペレーティングシステムに戻ります。
例
以下に、exit()
と break
の違いを示す具体的な例を挙げます。
N = int(input())
S = set(input() for i in range(N))
for s in S:
if "!" + s in S:
print(s)
exit()
print("satisfiable")
上記のコードでは、exit()
が呼び出されるとプログラムがすぐに終了します。そのため、”satisfiable” は印字されません。
一方、exit()
を break
に置き換えると、ループは終了しますが、プログラム自体は終了せず、”satisfiable” が印字されます。
N = int(input())
S = set(input() for i in range(N))
for s in S:
if "!" + s in S:
print(s)
break
print("satisfiable")
このように、exit()
と break
はそれぞれ異なる状況で使用され、その違いを理解することは重要です。