在不使用math.sqrt()的情况下查找平方根?

时间:2016-09-02 16:57:45

标签: python square-root

我最近在不使用python的情况下在sqrt()中查找数字的平方根。我遇到了这段代码,并且很难理解这段代码中的逻辑:

def sqrt(x):
    last_guess= x/2.0
    while True:
        guess= (last_guess + x/last_guess)/2
        if abs(guess - last_guess) < .000001: # example threshold
            return guess
        last_guess= guess

更具体地说,在上面的代码中计算guess背后的逻辑。任何人都可以帮我理解逻辑吗?

1 个答案:

答案 0 :(得分:2)

您始终可以使用幂指数(**)和反指数:

a = 2 ** (1.0 / 2)
a
> 1.41421...