Isuru Lakshan

Sep 21, 20212 min

Finding the Roots of Quadratic Equations using Python

In mathematics, a Quadratic equation is an equation that has the standard form that follows,

where x is the variable and a,b,c are constants. The x values which satisfy the above equation are referred to as roots of the equation. why roots in plural??? because for quadratic equations there are two values that x can get such that the above equation would be satisfied.

These roots can be obtained using the following two equations,

here, a.b.c are the same constants in the above equation. To obtain roots from these formulas some conditions need to be satisfied

1st condition

This is because divided by zero is undefined in mathematics.

2nd condition

Thus this equation has real roots.

if

The equation does not have real roots instead it has imaginary roots. For this calculator considered only real roots. Therefore entering a,b,c values which satisfy this condition may prompt you to try again.

If the above two conditions are met the root calculated will calculate the relevant roots for you.

Python code is structured in a way that user need to enter the a,b,c values for the intended quadratic equations and if the roots are real, the roots will be displayed in the terminal. then the user will be asked to try again and if the user needs to exit he/she need to enter 'no'

Thank you for Reading

The python code for the calculator,

# import math package to get support of square root
 
import math
 

 
# Welcome the User
 
print('### Quadtratic Equation Solver ###')
 

 
# infinite loop to iterate over retries
 
while(1):
 
# get user inputs for corresponding coefficients of quadtratic equation
 
a = float(input('enter a value: '))
 
b = float(input('enter b value: '))
 
c = float(input('enter c value: '))
 

 
# check weather the equation is quadtratic or not if not one root is there
 
if a == 0:
 
root1 = -c / b
 
root2 = -c / b
 
else:
 
# try to calculate roots
 
try:
 
root1 = (-b + math.sqrt(b*b-4*a*c)) / 2*a
 
root2 = (-b - math.sqrt(b*b-4*a*c)) / 2*a
 

 
# if roots are imaginary abort
 
except:
 
print('no real roots for this equation')
 
usrInput = input('Do you want to retry?? y/n: ')
 
#check wether the user need to exit
 
if (usrInput == 'n'):
 
break
 
else:
 
continue
 

 
# console out the resulting roots
 
print('First Root: ' + str(root1))
 
print('Second Root: ' + str(root2))
 

 
usrInput = input('Do you want to restart?? y/n: ')
 
#check wether the user need to exit
 
if (usrInput == 'n'):
 
break
 

 
# greet the user
 
print('### Thank you for using Root calculater ###')

    0