1. 编写一个 Python 程序,求一元二次方程²的根,并采用相关数据测试。
时间: 2024-09-07 22:00:57 浏览: 119
要编写一个 Python 程序求解一元二次方程 ax² + bx + c = 0 的根,我们首先需要考虑方程的根的情况。一元二次方程可能有两个实数根、一个实数根或两个复数根,这取决于判别式 Δ = b² - 4ac 的值。如果 Δ > 0,则有两个不同的实数根;如果 Δ = 0,则有一个重根;如果 Δ < 0,则有两个复数根。
以下是一个简单的 Python 程序,用于求解一元二次方程的根,并使用一些数据进行测试:
```python
import math
def solve_quadratic_equation(a, b, c):
# 计算判别式
delta = b**2 - 4*a*c
# 根据判别式的值判断根的情况
if delta > 0:
# 两个不同的实数根
root1 = (-b + math.sqrt(delta)) / (2*a)
root2 = (-b - math.sqrt(delta)) / (2*a)
return root1, root2
elif delta == 0:
# 一个重根
root = -b / (2*a)
return root,
else:
# 两个复数根
real_part = -b / (2*a)
imaginary_part = math.sqrt(-delta) / (2*a)
return (real_part + imaginary_part * 1j,), (real_part - imaginary_part * 1j,)
# 测试数据
# 测试数据1:ax² + bx + c = 0,其中 a=1, b=2, c=1,解为 x1=-1, x2=-1
# 测试数据2:ax² + bx + c = 0,其中 a=1, b=0, c=1,解为 x1=-1, x2=-1
# 测试数据3:ax² + bx + c = 0,其中 a=1, b=3, c=2,解为 x1=-1, x2=-2
# 对每个测试数据求解
for a, b, c in [(1, 2, 1), (1, 0, 1), (1, 3, 2)]:
roots = solve_quadratic_equation(a, b, c)
print(f"方程 {a}x² + {b}x + {c} = 0 的根为: {roots}")
```
运行上述代码,我们可以得到每个测试方程的根。
阅读全文