# Python 程序：求解二次方程式

> 原文： [https://www.programiz.com/python-programming/examples/quadratic-roots](https://www.programiz.com/python-programming/examples/quadratic-roots)

#### 当系数 a，b 和 c 已知时，此程序将计算二次方程的根。

要理解此示例，您应该了解以下 [Python 编程](/python-programming "Python tutorial")主题：

*   [Python 数据类型](/python-programming/variables-datatypes)
*   [Python 输入，输出和导入](/python-programming/input-output-import)
*   [Python 运算符](/python-programming/operators)

* * *

二次方程的标准形式为：

```py
ax2 + bx + c = 0, where
a, b and c are real numbers and
a ≠ 0
```

## 源代码

```py
# Solve the quadratic equation ax**2 + bx + c = 0

# import complex math module
import cmath

a = 1
b = 5
c = 6

# calculate the discriminant
d = (b**2) - (4*a*c)

# find two solutions
sol1 = (-b-cmath.sqrt(d))/(2*a)
sol2 = (-b+cmath.sqrt(d))/(2*a)

print('The solution are {0} and {1}'.format(sol1,sol2))

```

**输出**

```py
Enter a: 1
Enter b: 5
Enter c: 6
The solutions are (-3+0j) and (-2+0j)
```

我们已经导入了`cmath`模块以执行复数平方根。 首先，我们计算判别式，然后找到二次方程的两个解。

您可以在上述程序中更改`a`，`b`和`c`的值并测试该程序。