Решение квадратных уравнений на python

Привет народ, начал питон изучать, написал консольную программу для решения квадратных уравнений
код:
from math import sqrt
print('Программа для решения квадратных уравнений.')
a = int(input('Введите а: '))
b = int(input('Введите b: '))
c = int(input('Введите с: '))
D = b*b - 4*a*c
if D>0:
x1 = str((-b +sqrt(D))/(2*a))
x2 = str((-b -sqrt(D))/(2*a))
print('2 корня, х1 = '+ x1 +' x2 = '+x2)
elif D == 0:
x1 = str(-b/(2*a))
print('1 корень, х= '+x1)
elif D<0:
print('дискриминант меньше нуля, корней нет')

вопрос к знающим программистам, можно ли как-то оптимизировать, сделать код меньше?

Пикабу табуляции не сохраняет(

4
Автор поста оценил этот комментарий

Совет бывалого программиста - оптимизация, это когда кода больше, но работает он быстрее. А у вас просто желание минимализма(что снижает читаемость кода этак на порядок).

раскрыть ветку
1
Автор поста оценил этот комментарий

import cmath


a = float(input('a: '))

b = float(input('b: '))

c = float(input('c: '))

d = (b**2) - (4*a*c)

sol1 = (-b-cmath.sqrt(d))/(2*a)

sol2 = (-b+cmath.sqrt(d))/(2*a)

print(' {0} {1}'.format(sol1,sol2))

раскрыть ветку
0
Автор поста оценил этот комментарий

Хаха, моя первая программа тоже квадратные уравнения решала. Только она была на бейсике, а писал я ее на БК-0010Ш.

1
Автор поста оценил этот комментарий

С каких пор если "дискриминант меньше нуля, корней нет"?

раскрыть ветку
1
Автор поста оценил этот комментарий
При D < 0 корни есть, но они мнимые)
раскрыть ветку