【发布时间】:2021-02-19 04:53:28
【问题描述】:
我创建了一个阶乘函数,可以帮助我计算正弦的泰勒展开式。我的代码中没有明显的错误,但是返回的值是错误的。这是我的代码:
PI = 3.14159265358979323846
def fatorial(n):
fatorial = 1
for i in range(1,n+1,1):
fatorial = fatorial * i
return fatorial
def seno(theta):
n = 1
k = 3
eps = 10**-10
theta = (theta*PI)/180
x = ((-1)**n)*((theta)**k)
y = fatorial(k)
while x/y > eps or x/y < -eps:
theta = theta + (x/y)
n = n + 1
k = k + 2
x = ((-1)**n) * ((theta)**k)
y = fatorial(k)
return theta
【问题讨论】:
-
我没有看到任何明显的错误。结果有多差?你确定你的输入是正确的吗?
-
错误出现在小数点后第二位。显然,输入是正确的。
-
输入输出是什么?
-
例如,如果输入是 seno(80),预期输出应该是 0.98480775301(计算器),但函数返回 0.9486468804696462
标签: python python-3.x taylor-series