In this article, We will be going to see How to find the roots of a quadratic equation: A*x^2 + B*x + C.
Example:
Input: Quadratic Equation: 1X^2 + 5X + 2 Output: The Roots of a Quadratic Equations are: -0.4384 and -4.5616
for finding the roots we are using given below rules:
D = B^2 - 4*A*C If D is greater than or equal to zero then real roots is exist and then it is calculated using : root1 = -B + sqrt(D) / 2 * A and root2 = -B - sqrt(D) / 2 * A. If D is less than zero then the real roots not exist.
Now, let’s see the different ways to code this program:
Code 1: In this code, we are going to take inputs from user then type cast it into integer and then applying rules for finding roots.
# taking inputs from user and # convert it into integer var_a = int(input("Enter the A coefficient:")) var_b = int(input("Enter the B coefficient:")) var_c = int(input("Enter the C coefficient:")) # show the quadratic equation print("Quadratic Equation: "+ str(var_a)+ "X^2", "+", str(var_b) + "X", "+", var_c) # calculate the value of D # D = b^2 - 4ac var_d = var_b * var_b - 4 * var_a * var_c # check for real roots # exists condition if var_d >= 0 : # finding the roots and round of the # calculated values upto 4 places root1 = round(( -var_b + var_d ** (1/2) ) / 2 * var_a, 4) root2 = round(( -var_b - var_d ** (1/2) ) / 2 * var_a, 4) print("The Roots of a Quadratic Equations are: ", root1, "and", root2) else : print("Imaginary Roots")
Output:
Enter the A coefficient:1 Enter the B coefficient:5 Enter the C coefficient:2 Quadratic Equation: 1X^2 + 5X + 2 The Roots of a Quadratic Equations are: -0.4384 and -4.5616
Code 2:
# main code if __name__ == "__main__" : # inputs given var_a = 1 var_b = 5 var_c = 2 # show the quadratic equation print("Quadratic Equation: "+ str(var_a)+ "X^2", "+", str(var_b) + "X", "+", var_c) # calculate the value of D # D = b^2 - 4ac var_d = var_b * var_b - 4 * var_a * var_c # check for real roots # exists condition if var_d >= 0 : # finding the roots and round of the # calculated values upto 4 places root1 = round(( -var_b + var_d ** (1/2) ) / 2 * var_a, 4) root2 = round(( -var_b - var_d ** (1/2) ) / 2 * var_a, 4) print("The Roots of a Quadratic Equations are: ", root1, "and", root2) else : print("Imaginary Roots")
Output:
Quadratic Equation: 1X^2 + 5X + 2 The Roots of a Quadratic Equations are: -0.4384 and -4.5616
Code 3: By creating a user defined function.
# Create a user defined function for # finding roots of a quadratic equation def findRoots(var_a, var_b, var_c) : # calculate the value of D # D = b^2 - 4ac var_d = var_b * var_b - 4 * var_a * var_c # check for real roots # exist condition if var_d >= 0 : # finding the roots and round of the # calculated values upto 4 places root1 = round(( -var_b + var_d ** (1/2) ) / 2 * var_a, 4) root2 = round(( -var_b - var_d ** (1/2) ) / 2 * var_a, 4) print("The Roots of a Quadratic Equations are: ", root1, "and", root2) else : print("Imaginary Roots") # main code if __name__ == "__main__" : # inputs given var_a = 1 var_b = 5 var_c = 2 # show the quadratic equation print("Quadratic Equation: "+ str(var_a)+ "X^2", "+", str(var_b) + "X", "+", var_c) # function calling findRoots(var_a, var_b, var_c)
Output:
Quadratic Equation: 1X^2 + 5X + 2 The Roots of a Quadratic Equations are: -0.4384 and -4.5616
Code 4: By creating a user defined function along with lambda function.
# Create a anonymous/lambda function for # calculating the value of D # D = b^2 - 4ac find_d = lambda var_a, var_b, var_c : var_b * var_b - 4 * var_a * var_c # Create a anonymous/lambda function for # finding the roots and round of the # calculated values upto 4 places find_root1 = lambda var_a, var_b, var_d : round(( -var_b + var_d ** (1/2) ) / 2 * var_a, 4) find_root2 = lambda var_a, var_b, var_d : round(( -var_b - var_d ** (1/2) ) / 2 * var_a, 4) # Create a user defined function for # finding roots of a quadratic equation def findRoots(var_a, var_b, var_c) : # function calling var_d = find_d(var_a, var_b, var_c) # check for real roots # exist condition if var_d >= 0 : # function calling root1 = find_root1(var_a, var_b, var_d) root2 = find_root2(var_a, var_b, var_d) print("The Roots of a Quadratic Equations are: ", root1, "and", root2) else : print("Imaginary Roots") # main code if __name__ == "__main__" : # inputs given var_a = 1 var_b = 5 var_c = 2 # show the quadratic equation print("Quadratic Equation: "+ str(var_a)+ "X^2", "+", str(var_b) + "X", "+", var_c) # function calling findRoots(var_a, var_b, var_c)
Output:
Quadratic Equation: 1X^2 + 5X + 2 The Roots of a Quadratic Equations are: -0.4384 and -4.5616