我正在尝试使用python进行leibniz求和,但是,使用我的代码,我的价值略有不同。我找不到为什么它没有给我正确答案。
import math
def estimate_pi( iterations ):
pi = 0.0
for n in range(0,iterations+1):
pi = pi + (math.pow(-1,n)/((2*n)+1))
return pi
print("How many iterations?")
print(estimate_pi(int(input())))
答案 0 :(得分:2)
总和不估算pi
,估计pi/4
。因此,将代码更改为:
def estimate_pi( iterations ):
sum = 0.0
for n in range(iterations):
sum += (math.pow(-1,n)/((2*n)+1))
# sum now estimates pi/4, so return sum * 4 ~ (pi/4) * 4 ~ pi
return (sum * 4)
print estimate_pi(100000)
<强>输出:强>
3.14158265359