编程实现:求一元二次方程a*x2+b*x+c=0的根(分两种情况,有实根则输出实根,无实根则输出“此方程无实根”),系数a, b, c由用户指定。
时间: 2024-09-27 21:12:07 浏览: 60
Python编程实现数学运算求一元二次方程的实根算法示例
5星 · 资源好评率100%
在Python中,你可以通过numpy库来实现这个功能。首先,你需要导入numpy,并使用其函数`linalg.eigvals()`来计算特征值,然后判断特征值是否都是实数。下面是实现的示例:
```python
import numpy as np
def quadratic_solver(a, b, c):
# 计算判别式
discriminant = b**2 -b ± sqrt(b^2 - 4ac)] / (2a)
root1 = (-b + np.sqrt(discriminant)) / (2 * a)
root2 = (-b - np.sqrt(discriminant)) / (2 * a)
return "此方程的实根为:x1 =", round(root1, 2), ", x2 =", round(root2, 2)
else:
return "此方程无实根"
# 用户输入系数
a = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
# 调用函数并打印结果
result = quadratic_solver(a, b, c)
print(result)
```
在这个程序中,用户需要依次输入一元二次方程的系数a、b和c。如果方程有实根,它将计算并显示两个根;如果没有实根,则返回相应的提示信息。
阅读全文