Python实现平方根:while循环优化
Python实现平方根:while循环优化
本文将介绍如何使用Python中的while循环计算一个数的平方根,并通过优化算法来提高效率。
初始代码 (使用for循环)
以下代码使用for循环计算平方根:pythondef square_root_1(): c = 10 i = 0 g = 0
for j in range(0,c+1): if (j*j>c and g==0): g=j-1
while(abs(g * g- c)>0.0001): g += 0.00001 i=i+1 print('%d:g = %.5f' % (i,g))
square_root_1()
使用while循环优化
为了避免使用 break 语句并在找到目标值 g 时立即结束循环,我们可以使用 while 循环和一个布尔变量来优化代码:pythondef square_root_1(): c = 10 i = 0 g = 0 found_g = False
j = 0 while j <= c and not found_g: if j * j > c and g == 0: g = j - 1 found_g = True j += 1
while abs(g * g - c) > 0.0001: g += 0.00001 i += 1 print('%d: g = %.5f' % (i, g))
square_root_1()
代码解释:
- 引入布尔变量
found_g,初始值为False。2. 使用while循环迭代,条件是j小于等于目标值c且found_g为False。3. 在循环内部,判断j * j是否大于c,如果是,则将g设置为j - 1,并将found_g设置为True,表示已经找到目标值g。4. 由于found_g变为True,循环条件不再满足,循环结束。
通过这种方式,我们使用 while 循环代替了 for 循环,并在找到目标值 g 后直接结束了循环,无需使用 break 语句,使代码更加简洁易懂。
原文地址: https://www.cveoy.top/t/topic/nSg 著作权归作者所有。请勿转载和采集!