二分法求平方根python
时间: 2023-10-21 16:28:11 浏览: 131
二分法是一种常用的数值计算方法,可以用它来求平方根。在Python中,可以使用以下代码实现二分法求解平方根:
```python
def sqrt_binary_search(x, epsilon=0.01):
"""
使用二分法求解平方根
:param x: 待求平方根的数值
:param epsilon: 精度,默认为0.01
:return: 平方根的近似值
"""
if x < 0:
return None
low = 0.0
high = max(x, 1.0)
guess = (low + high) / 2.0
while abs(guess ** 2 - x) >= epsilon:
if guess ** 2 < x:
low = guess
else:
high = guess
guess = (low + high) / 2.0
return guess
# 调用函数进行测试
number = float(input("请输入一个非负数:"))
result = sqrt_binary_search(number)
print(f"{number}的平方根的近似值为:{result}")
```
以上代码中,`sqrt_binary_search` 函数使用二分法逼近求解平方根。其中,`x` 是待求平方根的数值,`epsilon` 是精度,默认值为 0.01。函数先进行参数有效性判断,然后利用二分法不断逼近平方根的近似值,直到满足指定精度要求为止。最后打印出结果。
你可以尝试运行这段代码,并输入一个非负数来求解平方根的近似值。
阅读全文