python中的arctan(x)函数
编写一个函数,通过计算公式pi=arctan(1/5)-arctan(1/239),返回pi的近似值,其中arctan是数学库中的切线函数。我正在使用python 3.4.1 我使用的功能是:python中的arctan(x)函数,python,function,trigonometry,Python,Function,Trigonometry,编写一个函数,通过计算公式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)
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
但它不起作用。这让人困惑。我不知道你从哪里得到的公式 看起来你在尝试做沃利斯的公式,
pi=(2/1)*(2/3)*(4/3)*(4/5)*……
,然后将中游切换到Machin的公式,pi==16*atan(1/5)-4*atan(1/239)
然后
你能详细解释一下“但它不起作用”。。。期望的是什么,你已经得到了什么等等…?-另外,
pi
曾在该函数中定义在哪里……您不需要在任何地方计算pi。你说“return pi”,但你从来没有像“pi=…”这样的表达式,所以它不是一个变量。@AdamHughes因为OP没有包含确切的错误或适当的回溯-它(不太可能)在全局范围内确实存在。。。但是这里没有进一步的信息,也不可能得出结论:)@Cb173如果你想使用math
库来计算pi,为什么不简单地使用math.pi
来计算pi的值呢。我做了与你完全相同的事情,但我导入的数学库是错误的。我从python教科书中得到了这个公式。这是沃利斯公式。@CassandraBrown:“完全一样”?真正地我统计了六个关键错误,这些错误与您导入atan的方式无关。。。这不是沃利斯的公式。
from math import atan
def approx_pi():
return 16 * atan(1/5) - 4 * atan(1/239)
>>> approx_pi()
3.1415926535897936