I defined a simple sqrt
function to calculate a square root of a given number.
def sqrt(n):
low = 0
up = n
for i in range(50):
mid = float(low+up)/2
if pow(mid,2) < n:
low = mid
elif pow(mid,2) > n:
up = mid
else:
break
return mid
When I do:
print(sqrt(9))
I get 3.0
as the output. However when I do:
print(int(sqrt(9)))
I get 2
.
Could somebody please help me understand why this is happening?
Thank you.