我尝试以自己的方式编写代码,但发现我得到了错误的答案。
我已阅读此页面。并尝试启动该过程:
f(x)=x^2-e
数学:
所以有我的代码:
def sqrtRootNR(num, count, epsl):
"""
for test
"""
num = float(num)
guess = num / 2.0
diff = guess ** 2.0 - num
_cnt = 0
while abs(diff) > epsl and _cnt < count:
guess = guess - (guess ** 2.0 + epsl) / (guess * 2.0)
diff = guess ** 2.0 - num
_cnt = _cnt +1
print guess, _cnt
sqrtRootNR(2, 100, 0.0001)
然而,我得到了错误的答案。
这个函数的输出是:
D:\poc>python sq.py
0.0595177826557 100