我试图使用Newton-Raphson法计算在Python一个数的近似平方根(式)逻辑错误,当使用牛顿 - 拉夫逊方法在Python
然而代码不能正常工作,因为它卡在while循环中(至少我是这么认为的)。我的计划是计算近似值,直到近似值相差1e-10。 这是代码,我现在所拥有的:
k = input("Enter a number")
try:
k = int(k)
xi = 1
xi2 = xi - (xi**2 - k)/(xi*2)
diff = xi2 - xi
while (diff > 0.0000000001):
xi = xi2
xi2 = xi - (xi**2 - k)/(xi*2)
print(xi2)
print(xi2)
except:
print("bye")
我新的Python所以任何帮助将非常感激!非常感谢! :)
更新: 我试着使用下面的代码作为一些答案建议,但是当给予输入2它只给了我一个循环之前给出答案(1.4166666666666667)。正确答案应该是(1.4142135623730951)。
while (diff > 0.0000000001):
xi = xi2
xi2 = xi - (xi**2 - k)/(xi*2)
diff = xi2 - xi
看看[问] – pvg
你永远不会改变'在while循环diff',因此深得't'diff> 0.0000000001'总是'真'? –