繁体   English   中英

使用Python的Pi的Leibniz公式

[英]Leibniz Formula for Pi using Python

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

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

因此,假设用户输入了1的迭代,程序将遍历公式(在图片中)并进行数学运算。 第一次迭代将是pi = 4/1,这将使pi = 4的值。这是一些迭代及其pi值的列表:迭代列表和Pi

另外,如果您想使用Lua来查看我的代码,这里有两个链接: 简单Pi估计程序,而我还有另一个更复杂的链接,但它在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;

你的程序不是错了。 您缺少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())))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM