找出误差内的常数Pi的近似值[PYTHON]

时间:2011-11-04 20:49:06

标签: python

我刚开始学习Python,我在编写函数时遇到了问题。

以下是计算π近似值的有限系列: π= 4/1 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 ......

我正在尝试编写一个函数,该函数将浮点值误差作为参数,并通过计算上述总和,逐项计算误差内的常数π,直到当前总和与当前总和之差的绝对值为止。之前的总和(少一个术语)不大于错误。一旦函数发现差值小于误差,它就应该返回新的总和。

以下显示了在某些示例中执行此功能:

>>> aprPi(0.01)
3.1465677471829556
>>> aprPi(0.0000001)
3.1415927035898146

我仍然不知道如何计算它。有人能帮助我吗?

这是我到目前为止所做的:

def aprPi(err):
    first  = 4/test(0) - 4/test(1)
    second = first + 4/test(2) - 4/test(3)
    n=4
    while abs(first - second) > err:
        first = second
        second = second + test(n)
        n +=1
    return second


def test(n):
    sum = 1
    for i in range(n):
        sum += 2

    return sum

谢谢

1 个答案:

答案 0 :(得分:1)

您可以这样做:

mypie = 0
denominator = 1
sign = 1

while denominator < 100:
    mypie = mypie + (4.0 / denominator) * sign
    sign = -sign
    denominator = denominator + 2