from math import *
# Résolution du polynôme
# Saisir les paramètres du polynôme du seconde degré de la forme f(x)=ax²+bx+c
print('Saisir les paramètres du polynôme du second degré de la forme f(x)=ax²+bx+c')
a=input("a =")
a=int(a)
b=input("b =")
b=int(b)
c=input("c =")
c=int(c)
# Calcul du discriminant 
Δ=b*b-4*a*c
print("Delta =", Δ)
α=-b/(2*a)
β=a*α*α+b*α+c
if Δ > 0:
  print('Le polynôme du second degré admet deux racines réelles.')
  x1=(-b-sqrt(Δ))/(2*a)
  x2=(-b+sqrt(Δ))/(2*a)
  print("x1 =",x1,"x2 =",x2)
  print('Calcul des coordonnées du sommet S(α;β)')  
  print('S(',α,';',β,')')
  print('Etude de signes :')
  if a > 0:
    print('f(x)>0 pour x ∈ ]-∞ ;',x1,'[ ∪ ]',x2,'; +∞[' )
    print('f(x)<0 pour x ∈ ]',x1,';',x2,'[')
    print('Etude des variations')
    print('f est décroissante sur ]-∞ ;',α,'[','puis croissante sur ]',α,'; +∞[')
    print('Le minimum vaut',β,'.')
  elif a < 0:
    print('f(x)<0 pour x ∈ ]-∞ ;',x1,'[ ∪ ]',x2,'; +∞[' )
    print('f(x)>0 pour x ∈ ]',x1,';',x2,'[')
    print('Etude des variations')
    print('f est croissante sur ]-∞ ;',α,'[','puis décroissante sur ]',α,'; +∞[')
    print('Le maximum vaut',β,'.')
elif Δ == 0:
  print('Le polynôme du second degré admet une racine réelle unique.')
  x0=(-b)/(2*a)
  print("x0 = ",x0)
  print('Calcul des coordonnées du sommet S(α;β)')  
  print('S(',α,';',β,')')
  print('Etude de signes :')
  if a > 0:
    print('f(x)>0 pour x ∈ ]-∞;+∞[' )
    print('Etude des variations :')
    print('f est décroissante sur ]-∞ ;',α,'[','puis croissante sur ]',α,'; +∞[')
    print('Le minimum vaut',β,'.')
  elif a < 0:
    print('f(x)<0 pour x ∈ ]-∞;+∞[' )
    print('Etude des variations :')
    print('f est croissante sur ]-∞ ;',α,'[','puis décroissante sur ]',α,'; +∞[')
    print('Le maximum vaut',β,'.')
else :
  print('Le polynôme du second degré n\'admet aucune racine réelle.')
  print('Calcul des coordonnées du sommet S(α;β)')  
  print('S(',α,';',β,')')
  print('Etude de signes :')
  if a > 0:
    print('f(x)>0 pour x ∈ ]-∞;+∞[' )
    print('Etude des variations :')
    print('f est décroissante sur ]-∞ ;',α,'[','puis croissante sur ]',α,'; +∞[')
    print('Le minimum vaut',β,'.')
  elif a < 0:
    print('f(x)<0 pour x ∈ ]-∞;+∞[' )
    print('Etude des variations :')
    print('f est croissante sur ]-∞ ;',α,'[','puis décroissante sur ]',α,'; +∞[')
    print('Le maximum vaut',β,'.')