Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
牛顿&x2019;python中求平方根的s方法_Python - Fatal编程技术网

牛顿&x2019;python中求平方根的s方法

牛顿&x2019;python中求平方根的s方法,python,Python,这是一个使用牛顿法求解给定数字平方根的函数: def sqrt(n): approx = n / 2.0 while True: better = (approx + n / approx) / 2.0 if abs(approx - better) < 0.00001: return better approx = better def sqrt(n): 近似值=n/2.0 尽管如此: 更好=(约+

这是一个使用牛顿法求解给定数字平方根的函数:

def sqrt(n):
    approx = n / 2.0
    while True:
        better = (approx + n / approx) / 2.0
        if abs(approx - better) < 0.00001:
            return better
        approx = better
def sqrt(n):
近似值=n/2.0
尽管如此:
更好=(约+n/约)/2.0
如果abs(大约-更好)<0.00001:
回报更好
大约=更好
我不明白的是,函数只返回“better”,这是一个整数,但是while循环依赖于布尔值,那么while循环如何停止呢?函数在哪里返回False以终止while循环

事先非常感谢。

实际上,它从不“返回一个
False来终止while循环”,因为它根本不需要

当Python在一个函数中遇到一个错误时,它会立即退出该函数。也就是说,当达到
return better
时,
sqrt
退出,在这个过程中,while循环也退出。

实际上,它从不“返回
False
来终止while循环”,因为它根本不需要

当Python在一个函数中遇到一个错误时,它会立即退出该函数。也就是说,当达到
return better
时,
sqrt
将退出,并且在此过程中,while循环也将退出

那么while循环将如何停止呢

当函数返回时,它将停止。函数
return
将控制权转移给调用者,从而非自愿地中断并终止循环

函数在哪里返回False以终止while循环

它没有;没必要。假设函数计算非负实数的平方根,则函数保证返回。从而导致循环终止

但是while循环依赖于一个布尔值

示例循环是无限循环的经典示例。无限循环保证永远运行,直到外部场景强制退出循环。显式条件可以是

  • 明确的中断语句
  • 函数返回
  • 任何隐式场景,如中断、信号或异常
  • 那么while循环将如何停止呢

    当函数返回时,它将停止。函数
    return
    将控制权转移给调用者,从而非自愿地中断并终止循环

    函数在哪里返回False以终止while循环

    它没有;没必要。假设函数计算非负实数的平方根,则函数保证返回。从而导致循环终止

    但是while循环依赖于一个布尔值

    示例循环是无限循环的经典示例。无限循环保证永远运行,直到外部场景强制退出循环。显式条件可以是

  • 明确的中断语句
  • 函数返回
  • 任何隐式场景,如中断、信号或异常

  • 您提到的布尔值,
    True
    ,是循环重复的条件。在这段代码中,循环始终重复,因为循环条件始终为True。循环条件不依赖于返回值。当到达
    return
    语句时,函数停止并立即返回该值,即使
    return
    语句在循环中或if语句中也是如此。

    您提到的布尔值
    True
    ,是循环重复的条件。在这段代码中,循环始终重复,因为循环条件始终为True。循环条件不依赖于返回值。当到达
    return
    语句时,函数立即停止并返回该值,即使
    return
    语句位于循环中或if语句中。

    当python在函数中进入“return…”时,无论有多少个循环,函数都将停止,返回该值,然后继续代码的其余部分

    函数在哪里返回False以终止while循环

    如果确实希望在不“退出”函数的情况下终止while循环,可以使用语句
    break

    def bla():
        a = 1;
        while True:
            ...
            ...
            if blichlach = 18273182736127836:
                break
            ...
        a = 2
    
    这个简单的函数,将1赋值给a,然后进入无限while循环,因为True总是True。 然后,当
    blichlach
    点击18273182736127836时,循环将停止,然后函数将在“while”之后继续,这意味着它将2分配给“a”

    def bla():
        a = 1;
        while True:
            ...
            ...
            if blichlach = 18273182736127836:
                return 1;
            ...
        a = 2
    
    在本例中,当blichlach在while循环中点击18273182736127836时,函数将返回到主代码或调用它的函数“a”永远不会是2。

    当python在一个函数中进入“return…”时,无论有多少个循环,函数都将停止,返回值,然后继续执行其余代码

    函数在哪里返回False以终止while循环

    如果确实希望在不“退出”函数的情况下终止while循环,可以使用语句
    break

    def bla():
        a = 1;
        while True:
            ...
            ...
            if blichlach = 18273182736127836:
                break
            ...
        a = 2
    
    这个简单的函数,将1赋值给a,然后进入无限while循环,因为True总是True。 然后,当
    blichlach
    点击18273182736127836时,循环将停止,然后函数将在“while”之后继续,这意味着它将2分配给“a”

    def bla():
        a = 1;
        while True:
            ...
            ...
            if blichlach = 18273182736127836:
                return 1;
            ...
        a = 2
    

    在本例中,当blichlach在while循环中点击18273182736127836时,函数将返回到主代码或调用它的函数“a”永远不会是2。

    函数中的
    return
    语句会导致函数返回(停止)。
    只返回“better”,它是一个整数
    -不,不是。它是一个浮点。
    return
    语句在函数中导致函数返回(stop)。
    只返回“better”,它是一个整数
    -不,不是。它是一个float。只有当return语句不会导致本地捕获的异常时,它才会退出functtino。只有当