Leibniz使用Python的Pi公式

时间:2015-12-09 00:36:01

标签: python lua

我正在尝试重建我在Lua中制作的程序。我一直在尝试将其翻译为Python(3.5.0)

该程序旨在允许用户输入一定数量的迭代,然后程序通过它们并显示pi的值。

所以让我们说用户输入1的迭代,程序通过公式(在图片中)并进行数学运算。第一次迭代将是pi = 4/1,这将使pi = 4的值。这是一些迭代的列表及其pi的值:List of Iterations and Pi

另外,如果你想看到我在这里使用Lua的代码是两个链接Simple Pi Estimation Program而我有另一个更复杂的代码,但它在Python中不起作用。另一个例子,如果用户输入5的迭代,程序将计算pi的值为3.339。

正如我所说,我试图用Python制作它,但我不能这样做。任何建议都会很有意义。这是我写的(最明显的错误):

def estimate_pi( iterations, pi = 0 ):
    print("How many iterations?")
    iterations = input()
    sign = -1.0
    for n in range(iterations):
        sign = sign*-1 # alternate sign as 1 or -1
        pi = pi+4/(n*2-1)*sign # multiply by sign for a + or - answer
        print("Pi: ", pi) #print value of Pi
    return;

1 个答案:

答案 0 :(得分:1)

您的程序 错误。你错过了python的范围0..n-1。修正和改进:

def estimate_pi( iterations ):
    sign,pi = 1,0.0
    for n in range(iterations):
        pi += 4/(n*2+1)*sign # multiply by sign for a + or - answer
        # --- prev line's formula has +1 instead of -1
        sign *= -1 # alternate sign as 1 or -1
    return pi

print("How many iterations?")
print(estimate_pi(int(input())))