如何在python代码中获得此公式。它应该等于0.343,但是当我输入它时,我总是得到其他东西。当我在纸上计算它时,我能够得到它,但在Excel/Python中我无法。将代码写入Python代码
我曾尝试:
((.310*.290)/.260)/(.310*.290)/(.260+((1-.310)*(1-.290)/1-.260))
这给了我7.85
如何在python代码中获得此公式。它应该等于0.343,但是当我输入它时,我总是得到其他东西。当我在纸上计算它时,我能够得到它,但在Excel/Python中我无法。将代码写入Python代码
我曾尝试:
((.310*.290)/.260)/(.310*.290)/(.260+((1-.310)*(1-.290)/1-.260))
这给了我7.85
您需要组分隔条下的两个括号中的表达式:
>>> (
... (.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
(((.310 * .290)/.260)/(((.310 * .290)/.260) + ((1-.310) * (1 - .290)/(1 - .260))))
我不认为有一种方法来挽救这个问题这不会因为关闭而结束。然而,下面是带括号的方程:'0.31 * 0.29/0.26 /(0.31 * 0.29/0.26 +(1-0.31)*(1-0.29)/(1-0.26))' –