改进平方根法的python代码与实例
时间: 2023-11-12 21:05:44 浏览: 89
以下是改进平方根法的 Python 代码和一个实例:
```python
def sqrt(x):
if x < 0:
raise ValueError("Cannot compute square root of negative number")
if x == 0:
return 0
# Initialize variables
a = float(x)
b = 1.0
# Iterate until convergence
while abs(a - b) > 0.000001:
a, b = (a + b) / 2, a
a = (a + x / a) / 2
return a
print(sqrt(25)) # Output: 5.0
```
在上面的代码中,我们通过以下步骤来计算平方根:
1. 首先,我们检查输入是否为负数,如果是,则抛出 ValueError。
2. 如果输入为零,则直接返回零。
3. 我们初始化两个变量 `a` 和 `b`,其中 `a` 是输入的浮点数,而 `b` 是 1.0。
4. 我们使用一个 while 循环来迭代,直到 `a` 与 `b` 的差值小于 0.000001。在每次迭代中,我们将 `a` 和 `b` 更新为它们的平均值和 `a` 的值,然后将 `a` 更新为 `a` 和 `x / a` 的平均值。
5. 最后,我们返回 `a`。
在上面的示例中,我们计算了 25 的平方根,并打印出结果 5.0。