这是一个使用牛顿法求解给定数字平方根的函数:
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
我不明白的是,函数只返回“better”,它是一个整数,但是while循环依赖于一个布尔值,那么while循环怎么会停止呢?函数在哪里返回False来终止while循环?在
提前致谢。在
Tags:
当函数返回时,它将停止。函数
return
将控制权转移给调用者,从而非自愿地中断和终止循环。在不需要。假设函数计算非负实数的平方根,则函数保证返回。从而导致环路终止
示例循环是无限循环的经典示例。无限循环保证永远运行,直到外部场景强制退出循环。显式条件可以是
实际上,它从不“返回一个
False
来终止while循环”,因为它根本不需要。在当Python命中一个函数内的return-statement时,它会立即退出该函数。意思是,当到达
return better
时,sqrt
退出,在此过程中,while循环也退出。在您提到的布尔值
True
,是循环重复的条件。在这段代码中,循环总是重复的,因为循环条件总是为真。循环条件不依赖于返回值。当到达return
语句时,函数会立即停止并返回该值,即使return
语句处于循环或if语句中。在相关问题 更多 >
编程相关推荐