使用Python编写一个简单的函数来计算平方根。
发布时间:2023-10-24 11:53:10
平方根是指对一个非负实数取平方根的操作,即找出一个非负实数x,使得x的平方等于给定的实数n。
下面是一个使用二分查找方法来计算平方根的简单函数的Python实现:
def sqrt_binary_search(n):
# 如果n小于0,则返回None
if n < 0:
return None
# 如果n等于0,直接返回0
if n == 0:
return 0
# 定义搜索范围的上下界
low = 0
high = n
# 使用二分查找逼近平方根
while low <= high:
mid = (low + high) // 2
square = mid * mid
# 如果找到平方等于n的数,直接返回结果
if square == n:
return mid
# 如果找到的平方小于n,则继续在右半部分搜索
if square < n:
low = mid + 1
# 如果找到的平方大于n,则继续在左半部分搜索
else:
high = mid - 1
# 返回最接近平方根的整数
return high
使用示例:
# 计算平方根 print(sqrt_binary_search(9)) # 输出:3 print(sqrt_binary_search(16)) # 输出:4 print(sqrt_binary_search(25)) # 输出:5 # 计算负数的平方根 print(sqrt_binary_search(-16)) # 输出:None
请注意,这个函数只能计算非负实数的平方根。如果输入为负数,函数将返回None。如果希望计算负数的平方根,可以使用内置的cmath库,它提供了复数的支持。
import cmath
def sqrt_complex(n):
return cmath.sqrt(n)
print(sqrt_complex(-16)) # 输出:4j
