newton method 求解平方根

#!/usr/bin/python

def sqrt_iter(guess,x):
    if(good_enough(guess, x)):
        print guess
    else:
        sqrt_iter(improve(guess, x),x)

def improve(guess, x):
    return average(guess, x/guess)

def average(x,y):
     return (x+y)/2

def good_enough(guess,x):
	if(abs(guess * guess -x) < 0.0001):
	    return True
	else:
	    return False

def sqrt_oliver(x):
    sqrt_iter(1.0,x)

sqrt_oliver(5)

编程技巧