ホームページ >バックエンド開発 >Python チュートリアル >Python の整数の除算に戸惑うのはどんなときですか?

Python の整数の除算に戸惑うのはどんなときですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-24 11:57:02329ブラウズ

When Does Integer Division in Python Puzzle You?

Python の整数の除算: 難問

Python の除算演算に負の整数が含まれる場合、予期しない結果が生じる可能性があります。次の式:

<code class="python">8 / -7</code>

は、-2 という驚くべき結果を返します。単純な算術演算で負の実数が得られると予想されるため、この結果は直感に反するように見えるかもしれません。

動作を理解する

この動作の説明は次のとおりです。 Pythonにおける「フロア分割」の概念。除算の結果が常に実数になる数学とは異なり、Python の整数除算では、結果が最も近い整数に切り捨てられます。この「フロアリング」効果は、驚くべき負の整数結果の原因です。

この場合、演算 8 / -7 は実際には 8.0 / (-7.0) を計算し、これは約 -1.143 です。ただし、整数の除算のため、結果は -2 に切り捨てられます。

影響と解決策

この動作は、特に正の値と正の値を混合した場合に、複雑な結果を招く可能性があります。除算演算における負の整数。例:

<code class="python">8 / 7  # Returns 1
8 / -7 # Returns -2</code>

Python 3 では、// で示される整数除算用の個別の演算子を導入することで、この問題が解決されました。この演算子を使用すると、Python 2 の動作と同様に、結果が常に整数になります。

<code class="python">8 // -7  # Returns -2</code>

結論

Python での負の整数除算の驚くべき結果これは、結果を最も近い整数に切り捨てるフロア除算の概念に由来しています。これらの予期しない結果を回避するには、次の点を考慮してください:

  • 実数の結果を取得するには浮動小数点除算 (8.0 / -7.0) を使用します。
  • 明示的に // 演算子を使用します。整数の除算用の Python 3。
  • 除算演算で正の整数と負の整数を混合する場合は、予想外の結果が生じる可能性があることに注意してください。

以上がPython の整数の除算に戸惑うのはどんなときですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。