编写函数求一元二次方程的根
时间: 2024-11-23 21:19:40 浏览: 23
一元二次方程一般形式为ax^2 + bx + c = 0,其中a、b、c是常数,且a不等于0。求解这种方程通常涉及到公式法,也就是著名的"韦达定理"。在程序设计中,可以编写一个函数来计算两个根:x1和x2。以下是这个过程的一个基本步骤:
```python
def quadratic_solver(a, b, c):
# 计算判别式
discriminant = (b ** 2) - (4 * a * c)
if discriminant > 0:
# 有两个不相等的实数根
x1 = (-b + discriminant**0.5) / (2 * a)
x2 = (-b - discriminant**0.5) / (2 * a)
return x1, x2
elif discriminant == 0:
# 有一个重根
x = -b / (2 * a)
return x, x
else:
# 无实数根,有复数根
real_part = -b / (2 * a)
imaginary_part = discriminant ** 0.5 / (2 * a)
return complex(real_part, imaginary_part), complex(real_part, -imaginary_part)
# 示例使用
root1, root2 = quadratic_solver(1, -3, 2)
print(f"Roots are {root1} and {root2}")
```
在这个函数中,我们首先检查判别式的值,然后根据其正负分别处理三种情况:两个不等实根、一个重根(即重复的实根)、或一对共轭复数根。
阅读全文
相关推荐


















