求平方根python
时间: 2023-12-08 15:39:41 浏览: 37
以下是两种Python求平方根的方法:
1. 使用math库中的sqrt()函数
```python
import math
num = 16
sqrt = math.sqrt(num)
print("16的平方根为:", sqrt) # 输出:4.0
```
2. 使用牛顿迭代法
```python
def sqrt(num):
if num < 0:
raise ValueError("负数没有实数平方根")
if num == 0:
return 0
x = num
while True:
y = (x + num / x) / 2
if abs(y - x) < 1e-6:
return y
x = y
print(sqrt(16)) # 输出:4.0
```
相关问题
二分法求平方根Python
二分法求平方根是一种常用的数值计算方法,可以用来近似求解非负实数的平方根。下面是使用Python实现二分法求平方根的示例代码:
```python
def sqrt_binary_search(x, epsilon=0.00001):
if x < 0:
return None
if x == 0 or x == 1:
return x
left = 0
right = x
while True:
mid = (left + right) / 2
square = mid * mid
if abs(square - x) < epsilon:
return mid
if square > x:
right = mid
else:
left = mid
```
这段代码中,我们首先判断输入的数是否为负数,如果是负数则返回None。然后,我们将左边界left设为0,右边界right设为x。接下来,我们使用一个循环来不断缩小左右边界的范围,直到找到一个满足要求的近似平方根。
在每一次循环中,我们计算当前的中间值mid,并计算mid的平方。然后,我们比较mid的平方与目标值x的大小关系。如果mid的平方与x的差小于给定的精度epsilon,则认为找到了一个近似平方根,返回mid。如果mid的平方大于x,则说明mid过大,需要将右边界right更新为mid;如果mid的平方小于x,则说明mid过小,需要将左边界left更新为mid。
请注意,这段代码中使用了一个默认的精度epsilon,你可以根据需要调整该值。
二分法求平方根python
二分法是一种常用的数值计算方法,可以用它来求平方根。在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。函数先进行参数有效性判断,然后利用二分法不断逼近平方根的近似值,直到满足指定精度要求为止。最后打印出结果。
你可以尝试运行这段代码,并输入一个非负数来求解平方根的近似值。