解方程〖ax〗^2+bx+c=0,其中a,b,c为系数,要求使用input()输入三个系数的值,计算出方程的根。求平方根的函数为math库的sqrt()。注意,输入的数据要保证方程存在实数根
时间: 2024-09-24 11:21:33 浏览: 97
解这个二次方程的过程称为求解二次公式,其一般形式为\( ax^2 + bx + c = 0 \),其中\( a \), \( b \), 和 \( c \) 是给定的系数。要通过Python编程实现,首先需要确保\( a \neq 0 \),因为如果\( a = 0 \),这将不是一个标准的二次方程。
以下是一个简单的Python程序,使用`cmath`库处理复数根的情况:
```python
import cmath
def calculate_roots(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 检查是否有实数根
if discriminant >= 0:
root1 = (-b + cmath.sqrt(discriminant)) / (2 * a)
root2 = (-b - cmath.sqrt(discriminant)) / (2 * a)
return (root1, root2)
else:
real_part = -b / (2*a)
imaginary_part = cmath.sqrt(-discriminant) / (2*a)
return (real_part, imaginary_part)
# 输入系数
a = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
# 调用函数并打印结果
roots = calculate_roots(a, b, c)
if isinstance(roots[0], complex):
print(f"方程有两个复数根:{roots[0]} 和 {roots[1]}")
else:
print(f"方程有两个实数根:{roots[0]} 和 {roots[1]}")
#
阅读全文