如果我在Python中进行一些普通的计算,会发生一些非常奇怪的事情。如果我没有使用括号进行乘法运算,它会给出正确的结果,但是如果将一些内容设置为括号,则总乘法运算等于零。如果我把元素放进括号中,乘法运算会给出零(python)
对于那些谁不相信(我知道这听起来很奇怪):如图this Jupyter screenshot
>>> 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
。
两次乘法的唯一区别在于第一次有大括号60/368*0.75
。
这怎么可能,我能做些什么呢?我不知道这怎么可能。
它是关于操作员的优先级,通过消除括号,方程将不相等。 – amin
'*'和'/'具有相同的优先级,因此省略参数将从左到右。 – Felk
但两个计算是相等的,它怎么会产生这样的差异?以及如何防止这种事情?我意外地注意到它 – Koen