我是 python 和编程的初学者,在 HTLCS 上做练习时已经遇到了障碍。
问题是使用 Liebniz 近似来计算 pi (3.14...) 的值。
这是我解决这个问题的可怜尝试:
def myPi():
n = 0
value = ((-1) ** n)/(2 * n + 1)
runningtotal = 0
while True:
runningtotal += value
n += 1
value = ((-1) ** n)/(2 * n + 1)
runningtotal *= 4
return runningtotal
当然,由于 while True,Python 解释器 shell 永远不会完成我的函数,我理解诸如 while n != 5000 之类的解决方案也可以,但我希望 Python 自己找到终止点并返回结果。
我尝试运行 while 语句,直到 runningtotal 的值和更新的 runningtotal 的值在某个浮点数处相同,但由于某种原因在每个循环中两个值的最后一个浮点数丢失一个而失败。(runningtotal:3.14157,更新runningtotal:3.14158->runningtotal:3.14158,更新runningtotal:3.14157->重复)。
这是我在这个论坛上的第一个问题,所以如果我没有明确说明或违反了我不知道的 Stackflow 规则,请告诉我。