Holas, hice este programita para resolver ecuaciones de segundo grado, pero querria mejorar el código de manera que no tenga tantos condicionales anidados, pero no se me ocurre como hacerlo

. Disculpen si mi pregunta es muy básica

.
# -*- coding: UTF-8 -*-
print "Ecuación ax² + bx + c = 0"
a = float(raw_input("Escribe el valor del coeficiente a: "))
b = float(raw_input("Escribe el valor del coeficiente b: "))
c = float(raw_input("Escribe el valor del coeficiente c: "))
det = b ** 2 - 4 * a * c #cuando es mayor que 0 la raiz da un numero real, cuando es menor la raiz no tiene solucion real.
if det < 0:
print "Sin solución real."
elif det == 0:
if a == 0 and c == 0: #esto es para evitar usar -b/2a que da como resultado 0/0.
print "Todos los números son solución."
elif a == 0:
print "No tiene solución"
else:
print "Una única solución real:", (-b) / (2 * a) #debido a que la raiz vale 0.
elif a == 0: #en este caso la ecuacion es una ecuacion de primer grado.
if b == 0:
if c == 0:
print "Todos los numeros son solución"
else:
print "No tiene solución"
else:
print "Una solución:", -c / b
else:
print "Dos soluciones reales:", (-b +(det ** 0.5)) / (2*a), (-b -(det ** 0.5)) / (2 * a)