私は-100から0までの数値のセットを10-100の範囲に正規化しようとしていて、変数がまったくない場合でも、これが期待どおりに評価されないことに気づくだけの問題がありました。
>>> (20-10) / (100-10)
0
フロート除算も機能しません。
>>> float((20-10) / (100-10))
0.0
部門のどちらかの側がフロートにキャストされた場合、機能します。
>>> (20-10) / float((100-10))
0.1111111111111111
最初の例の両側は、intとして評価されています。つまり、最終的な回答がintにキャストされます。0.111は.5より小さいため、0に丸められます。私の見解では、それは透過的ではありませんが、私はそれがそうであると思います。
説明は何ですか?