gpt4 book ai didi

python - 使用 Python 计算 Pi 的莱布尼兹公式

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:13 25 4
gpt4 key购买 nike

我正在尝试重新创建我用 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;

最佳答案

你的程序没有那个错误。您错过了 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())))

关于python - 使用 Python 计算 Pi 的莱布尼兹公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34168775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com