我必须编写一个函数,使用以下系列的前 10 项计算并返回角度的余弦: cosx = 1 - (x**2)/2! + (x**4)/4! - (x**6)/6!....
我不能使用阶乘函数,但我可以使用这样一个事实,即如果前一个分母是n!
,那么当前分母就是n!(n+1)(n+2)
。我正在尝试使用累加器循环,但我很难接受它从正到负交替并且分母也有问题的事实。
这就是我迄今为止所拥有的。对分母和累加器循环有任何帮助吗?
def factorial(x):
if(x == 0):
return 1
return x * factorial(x-1)
def cosine(angle):
cosx = 1
sign = -1
for i in range(2, 20, 2):
cosx = cosx + (sign*(angle**i))/factorial(i)
sign = -sign
return cosx