用Python写由用户输入a,b,c的值,求解一元二次方程ax^2+bx+c=0的根。
时间: 2024-09-18 14:16:17 浏览: 44
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
在Python中,你可以使用`cmath`库来处理复数解的情况,并通过用户输入获取系数a、b和c的值,然后利用公式`(-b ± sqrt(b^2 - 4ac)) / (2a)`计算一元二次方程的解。以下是一个简单的示例:
```python
import cmath
# 请求用户输入
a = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
# 计算判别式
d = (b**2) - (4*a*c)
# 根据判别式的正负情况计算两个解
if d > 0:
root1 = (-b + cmath.sqrt(d)) / (2 * a)
root2 = (-b - cmath.sqrt(d)) / (2 * a)
print(f"有两个实数根:{root1} 和 {root2}")
elif d == 0:
root = -b / (2 * a)
print(f"有一个实数根:{root}")
else: # d < 0, 有复数解
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-d) / (2 * a)
print(f"有两个复数根:{real_part} + {imaginary_part}i 和 {real_part} - {imaginary_part}i")
阅读全文