def - это зарезервированное слово которое обозначает что дальше будет идти функция. выражение "Как с помощью def сократить код в python?" по сути не имеет смысла.
У вас достаточно простая программа, если цель только решить квадратное уравнение - то и так всё хорошо для начала.
Если вам нужно именно функцию, то просто оберните это всё в в функцию:
def foo():
a = int(input("Введите число a: "))
b = int(input("Введите число b: "))
c = int(input("Введите число c: "))
D = b*b-4*a*c
if D > 0:
x1 = (-b-cmath.sqrt(D))/(2*a)
x2 = (-b+cmath.sqrt(D))/(2*a)
print(x1,x2)
elif D == 0:
x = -b/(2*a)
print(x)
else:
print("Корней нет")
P.S.: сюда наоборот нужно больше строчек, например проверку что ввели именно число, а не буквы. И возводить в степень принято так
b ** 2