インデントの異常: Python While ステートメントの Else 節
Python では、while ステートメントに else 節を追加できます。ただし、従来のプログラミング規則とは異なり、else 節は while ループの条件に直接関係しません。代わりに、条件が false になった場合にのみ実行されます。
なぜ合法ですか?
Python では、while ループで else 句を使用して代替フローを提供できます。条件が当てはまらなくなったときの実行。これは、else 節が特定の if 条件とペアになっている if/else ブロックとは異なります。
実行ロジック
while ループ内の else 節は次のように動作します。
if/else コンストラクトとの類似
else 節を含む while ループを、条件:
if condition: handle_true() else: handle_false()
は次と類似しています:
while condition: handle_true() else: # condition is false now, handle and go on with the rest of the program handle_false()
実際の例
たとえば:
while value < threshold: if not process_acceptable_value(value): # something went wrong, exit the loop; don't pass go, don't collect 200 break value = update(value) else: # value >= threshold; pass go, collect 200 handle_threshold_reached()
このコードでは、値がしきい値を満たすか超えた場合にのみ、else 句が実行されます。
以上がPython の While ループに Else 節があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。