私はこれに似た質問をいくつか見ましたが、これは特定の質問に対処していないようです。Pythonを初めて使用するので、何かを見落としているかどうかはわかりません。
質問のコンテキストは次のとおりです。
for i in range(10):
if something_happens(i):
break
if(something_happened_on_last_position()):
# do something
私のCのバックグラウンドから、for(i = 0; i <10; i ++)が同じことをブレークで実行している場合、iの値は10になり、ブレークが発生しなかった場合は9ではなく、9になります。最後の要素で発生した場合。つまり、メソッドsomething_happened_on_last_position()は、このファクトを使用して両方のイベントを区別できます。ただし、Pythonで気付いたのは、ループを中断せずに正常に実行した後でも、9で停止することです。
両方を区別するのは、フラグのように変数を追加するのと同じくらい簡単かもしれませんが、Cでのそのような使用法は好きではありませんでした。それで、私は興味がありました。
range(11)を使用すると、something_happens(10)が実行されるため、使用できないことに注意してください。'10'はforループの条件で失敗し、something_happens(10)を実行しないため、これはCでは異なります(ここではインデックス0から開始するため、PythonとCの両方で値は10です)。
興味のあるコードチャンクを説明するためだけにメソッドを使用しました。これらは、問題の説明に関係のない他の条件のセットです。
ありがとうございました!