二分法求平方根满足一定的精度,思想如下:
x=float(raw_input('Enter the number:'))
low=0.0
high=x
guess=(low+high)/2
while abs(guess**2-x)>1e-4:
if guess**2>x:
high=guess
else:
low=guess
guess=(low+high)/2
print guess
当x<0和x<1时,程序陷入死循环,原因是小于1的数的平方根大于自身,每次二分时候找不到越来越接近的数,所以陷入死循环。