下面的公式是我在将其转换为Python时遇到的问题。当我这么做的时候,它会弹出一个非常大的数字。我的代码是100000/1+((2.575**2)*.38*(1-.38)/(.005**2)*100000),但它错了。
这是方程式-

在这个公式中,我们假设人口比例是.38 (38%)。Z分是2.575分。误差范围为.005 (.5%)。人口规模是10万。
有人能帮我把这个翻译成Python吗?预期结果为38 549人。
发布于 2020-04-29 17:54:24
100000/1+((2.575**2)*.38*(1-.38)/(.005**2)*100000)您有一个遗漏的括号,这使得python执行错误的计算。记住你的PEMDAS。100000/1比+具有更高的优先级
总之,这是固定版本:
def the_factor(n, z, p_cap, epsilon, N):
return n / (1 + (((z**2) * (p_cap * (1 - p_cap)))/((epsilon**2) * N)))
print(the_factor(100000, 2.575, 0.38, 0.005, 100000))输出:
61543.38122167427发布于 2020-04-29 17:54:34
你在除法部分的括号里有个错误!
100000 / (1 + ((2.575**2) * .38 * (1-.38) / ((.005**2) * 100000)))除了将除法的所有部分都放在括号内外,还应该将第二个除法的*放在括号内。
https://stackoverflow.com/questions/61508153
复制相似问题