Pythonで普通の計算をすると、何か非常に奇妙なことが起こります。角括弧なしで乗算を行うと正しい結果が得られますが、いくつかの項目を角括弧に入れると合計乗算はゼロになります。信じない人のために要素を角かっこ(Python)に入れた場合の乗算は0になります
(私はそれは奇妙に聞こえることを知っている):
>>> print(1.1*1.15*0.8*171*15625*24*(60/368*0.75)/1000000)
0.0
>>> print(1.1*1.15*0.8*171*15625*24*60/368*0.75/1000000)
7.93546875
this Jupyter screenshotに示すように。
両方の乗算の唯一の違いは、最初は括弧が60/368*0.75
であることです。
これはどのように可能なのですか、それに対して私は何ができますか?私はこれがどのように可能なのか全く分かりません。
これは演算子の優先順位に関するもので、括弧を削除することで等式が等しくなることはありません。 – amin
'*'と '/'は同じ優先順位を持ちますので、paranthesisを省略すると左から右に移動します。 – Felk
しかし、両方の計算が等しい場合、どうすればそのような違いが得られますか?そんなことを防ぐ方法は?私は偶然それに気づいた – Koen