# How to Solve a Quadratic Equation in Python

In this example, we will learn how to solve a quadratic equation in Python.

### Source Code

``````#! /usr/bin/env python3
# -*- coding: utf-8 -*-

import cmath

def equation(a, b, c, highmiddle=True):
# Here we need make sure a, b, c is number and a is not zero
# highmiddle is True for high school，False for middle school
if not isinstance(a, (int, float, complex)) or abs(a) < 1e-6:
print('error')
return
if not isinstance(b, (int, float, complex)):
print('error')
return
if not isinstance(c, (int, float, complex)):
print('error')
return

# start to calculate
d = b**2 - 4*a*c
x1 = (-b + cmath.sqrt(d)) / (2*a)
x2 = (-b - cmath.sqrt(d)) / (2*a)

# Here we handle two cases (the calculation result is actual or complex number)
if isinstance(x1, complex):
if highmiddle:
# here we consider complex number
x1 = round(x1.real, 3) + round(x1.imag, 3) * 1j
x2 = round(x2.real, 3) + round(x2.imag, 3) * 1j
return (x1, x2)
else:
# for the level of middle school, just print no answer
return
# Here we carry three significant digits if the calculation result is actual number
return (round(x1, 3), round(x2, 3))

def main():
r = equation(1, 2, 1)
if isinstance(r, tuple):
print('x1 = {0}nx2 = {0}'.format(r))

if __name__ == '__main__':
main()
``````

After running the codes above, we can get these results: Subscribe
Notify of 