如何在python代码中获得此等式。它应该等于.343但是当我输入它时我总是得到别的东西。当我在纸上计算时,我能够得到它但是在excel / python中我无法做到。
我尝试过:
((.310*.290)/.260)/(.310*.290)/(.260+((1-.310)*(1-.290)/1-.260))
给了我7.85
答案 0 :(得分:1)
您需要将括号中分隔栏下的表达式分组:
>>> (
... (.310 * .290) / .260
... /
... (
... (.310 * .290) / .260
... +
... ((1 - .310) * (1 - .290) / (1 - .260))
... )
... )
0.3430943785456421
这确保在划分上层表达式结果之前,在条形下添加两个部分。
你在尝试中没有这样做,所以你基本上得到了这个:
(
((.310 * .290) / .260)
/
(.310 * .290)
/
(
.260
+
(
(1 - .310) * (1 - .290) / 1
-
.260
)
)
)
我根据优先规则将我和你的尝试分开。注意区别?
(.310 * .290)
的结果应首先划分.260
,并将条形图的其余部分汇总到其中;你的版本首先将结果从条形图上方划分,然后将 结果除以.260 + ...
的结果。那是不一样的表达。
即使在原始表达式中的某些括号也是多余的。乘法和除法在加法和减法之前进行,因此我们可以删除乘法和除法的括号:
(
.310 * .290 / .260
/
(.310 * .290 / .260 + (1 - .310) * (1 - .290) / (1 - .260))
)
或全部在一行:
>>> .310 * .290 / .260 / (.310 * .290 / .260 + (1 - .310) * (1 - .290) / (1 - .260))
0.3430943785456421
答案 1 :(得分:0)
(((.310 * .290) / .260) / (((.310 * .290) / .260) + ( (1-.310) * (1 - .290) / (1 - .260))))