[英]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.