1、平方根是正整数的情况
如sqrt(4)=2、sqrt(9)=3这种情况求出的算术平方根必须是正整数,代码如下:
def sqrt_one(n):
for i in range(n):
if i*i==n:
return i
print(sqrt_one(25))
以上代码只能求解有正整数平方根的sqrt
2、利用二分法计算平方根
可以精确求得正数的平方根:
def sqrt_two(n):
assert n>=0 # 检查条件,不符合就终止程序
low=0
high=n
count=0
while low<=high:
count+=1
mid=0.5*(low+high) #写成0.5*算平均数可以改变属性为float
if mid*mid==n:
return mid
elif mid*mid>n:
high=mid
else:
low=mid
if count>1000:
return mid
break
print(sqrt_two(33.5))