用python写一段代码,用math库,表达出一元二次方程的求根方式
时间: 2024-10-12 14:16:58 浏览: 25
当然可以,你可以使用Python的math库来计算一元二次方程的解,但需要注意的是,math库本身并不直接提供求根函数,所以我们需要借助数学公式。这里是一个简单的例子,我们将使用牛顿迭代法(Newton-Raphson method)来逼近方程的解:
```python
import math
def quadratic_solver(a, b, c):
# 计算判别式
discriminant = b**2 - 4*a*c
if discriminant < 0:
# 如果判别式小于零,方程无实数解
return "方程无实数解"
elif discriminant == 0:
# 若判别式等于零,有两个相同的实数解
x = -b / (2 * a)
return x
else:
# 判别式大于零,有两个不同的实数解
def f(x):
return a*x**2 + b*x + c
def df(x):
return 2*a*x + b
# 使用牛顿法求解
initial_guess = -b / (2 * a)
x_newton = initial_guess
max_iterations = 100
for _ in range(max_iterations):
x_newton -= f(x_newton) / df(x_newton)
return round(x_newton, 6), round(-initial_guess - x_newton, 6)
# 测试示例
a = 1
b = -3
c = 2
solution = quadratic_solver(a, b, c)
print(f"方程 {a}x^2 + {b}x + {c} 的解是 ({solution[0]}, {solution[1]})")
阅读全文