Для оптимизации и улучшения кода, вы можете написать функцию, которая будет находить корни квадратного уравнения при любых входных значениях.
Вот так может выглядеть оптимизированный и улучшенный код на Python:
import cmath def find_roots(a, b, c): discriminant = b**2 - 4*a*c if discriminant > 0: root1 = (-b + cmath.sqrt(discriminant)) / (2*a) root2 = (-b - cmath.sqrt(discriminant)) / (2*a) return root1, root2 elif discriminant == 0: root = -b / (2*a) return root, else: real_part = -b / (2*a) imaginary_part = cmath.sqrt(-discriminant) / (2*a) root1 = complex(real_part, imaginary_part) root2 = complex(real_part, -imaginary_part) return root1, root2 a = float(input("Enter the value of a: ")) b = float(input("Enter the value of b: ")) c = float(input("Enter the value of c: ")) roots = find_roots(a, b, c) print("Roots of the equation are:", roots)
В этом коде была создана функция find_roots(a, b, c)
, которая принимает коэффициенты квадратного уравнения a
, b
и c
в качестве аргументов. Функция определяет дискриминант и в зависимости от его значения находит корни уравнения. В случае двух действительных корней, программа возвращает корни в виде кортежа (root1, root2)
, в случае одного корня - кортеж (root,)
, где root
- действительный корень, и в случае комплексных корней - кортеж (root1, root2)
, где root1
и root2
- комплексные корни.
После этого программа запрашивает у пользователя значения коэффициентов квадратного уравнения и выводит корни уравнения.