Python Leibniz总结

时间:2016-10-04 01:27:00

标签: python

Leibniz summation

我正在尝试使用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())))

1 个答案:

答案 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