Using s(2)
def factfirst(n):
initalvalue=1
for y in range(1,2*n):
initalvalue=initalvalue*y
return initalvalue
def powerfirst(n) :
return (-1)**(n-1)
def firstxpower(n) :
return (2*n)-1
def s(x) :
for n in range(1,x+1):
total=0
total+=(powerfirst(n)/factfirst(n))*(x**firstxpower(n))
return total
print(s(2))
我一直得到-1.3333,在用计算器计算时应该得到.90929,有人可以告诉我什么不正确吗?
答案 0 :(得分:0)
在代码的这一部分中,您要在循环中设置total = 0
,因此total始终在开始时始终为0,并在循环结束时给出最后一个数字。
应该是:
def s(x) :
total=0
for n in range(1,x+1):
total+=(powerfirst(n)/factfirst(n))*(x**firstxpower(n))
return total
print(s(2))