Нужно оптимизировать и улучшить следующий код, найти корни квадратного уравнения, при любых числах?

Для оптимизации и улучшения кода, вы можете написать функцию, которая будет находить корни квадратного уравнения при любых входных значениях.

Вот так может выглядеть оптимизированный и улучшенный код на 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 - комплексные корни.

После этого программа запрашивает у пользователя значения коэффициентов квадратного уравнения и выводит корни уравнения.