Python Program to Solve Quadratic Equation

To understand this example, you should have the knowledge of the following Python programming topics:


The standard form of a quadratic equation is:

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

The solutions of this quadratic equation is given by:

(-b ± (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)

Source Code

# 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))

Output

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

We have imported the cmath module to perform complex square root. First, we calculate the discriminant and then find the two solutions of the quadratic equation.

You can change the value of a, b and c in the above program and test this program.


Also Read:

Before we wrap up, let's put your understanding of this example to the test! Can you solve the following challenge?

Challenge:

Write a function to solve a quadratic equation.

  • Define a function that takes three integers as input representing the coefficients of a quadratic equation.
  • Return the roots of the quadratic equation.
  • Hint: The quadratic formula is x = [-b ± sqrt(b^2 - 4ac)] / (2a).
  • The term inside the square root, b^2 - 4ac, is called the discriminant.
  1. If it's positive, there are two real roots.
  2. If it's zero, there's one real root.
  3. If it's negative, there are two complex roots.
  • While returning the list, make sure the solution of [-b + sqrt(b^2 - 4ac)] / (2a) appears as the first solution.
Did you find this article helpful?

Our premium learning platform, created with over a decade of experience and thousands of feedbacks.

Learn and improve your coding skills like never before.

Try Programiz PRO
  • Interactive Courses
  • Certificates
  • AI Help
  • 2000+ Challenges