写一个函数,通过计算方程pi = arctan(1/5) - arctan(1/239)返回pi的近似值,其中arctan是数学库的正切函数。我正在使用python 3.4.1
我使用的功能是:
def wallis(pairs):
acc = 1
num = 2
for apair in range(pairs):
leftterm = math.atan(0.2)
rightterm = math.atan(0.0041)
acc = leftterm - rightterm
return pi
但它不起作用。这令人困惑。
答案 0 :(得分:1)
我不知道你在哪里得到那个公式;
看起来你正试图做Wallis的公式,pi = (2/1) * (2/3) * (4/3) * (4/5) * ...
并将中间流转换为Machin的公式pi == 16 * atan(1/5) - 4 * atan(1/239)
。
from math import atan
def approx_pi():
return 16 * atan(1/5) - 4 * atan(1/239)
然后
>>> approx_pi()
3.1415926535897936