问题:
对于这部分作业,您将编写一个要评估的函数 数学指数函数,例如你的Python函数会 被称为badexp(x),因为它至少不会很好地工作 对于某些x值。
使用badexp公式:term [i + 1] = term * x /(i + 1)
对于你的badexp函数,你肯定需要写一个循环,但是 因为等式(7),你不需要在a里面写一个循环 循环(“双嵌套循环”)。
要编写badexp,请在数学公式中加上项的总和, 从i = 0开始。你不能永远继续前进,所以请尽快停止 在总和中添加新术语不会改变总和。那会的 肯定会最终发生,因为对于大的我来说条款变得非常 小。
我可以弄清楚如何编写一个更好的exp函数,但这个是荒谬的,我无法弄清楚循环。到目前为止我所拥有的:
def badexp(x):
i = 0
term1 = 1.
term2 = x
temp = term1
while term1 != term2:
term1 = temp
term2 = 1 + term1 * x / (i + 1)
temp = term2
i = i + 1
print term2
但这不起作用:/
答案 0 :(得分:2)
我认为没有必要跟踪两个term
变量。怎么样只是
def badexp(x):
i = 0
acc = 0
term = 1.
while True:
newacc = acc + term
i += 1
term = term * x / i
if acc == newacc:
return acc # numbers stopped changing
acc = newacc