python标准库math中用来计算平方根_如何在python中计算平方根?

  • Post author:
  • Post category:python


这可能是晚了一点回答,但最简单而准确的方法来计算平方根是牛顿的方法。

你有一个数字,你想要计算它的平方根(num),你猜它的平方根(estimate)。估计值可以是大于0的任何数字,但有意义的数字会显着缩短递归调用深度。

new_estimate = (estimate + num/estimate)/2

这条线用这两个参数计算出更准确的估计值。您可以将new_estimate值传递给函数,并计算另一个比前一个更精确的new_estimate,或者可以像这样做一个递归函数定义。

def newtons_method(num, estimate):

# Computing a new_estimate

new_estimate = (estimate + num/estimate)/2

print(new_estimate)

# Base Case: Comparing our estimate with built-in functions value

if new_estimate == math.sqrt(num):

return True

else:

return newtons_method(num, new_estimate)

例如,我们需要找到30的平方根。我们知道,结果是5和6

newtons_method(30,5)

之间的号码是30和估计5.每个递归调用的结果是:

5.5

5.477272727272727

5.4772255752546215

5.477225575051661

最后的结果是最准确的计算数字的平方根。它与内置函数math.sqrt()具有相同的值。