import matplotlib.pyplot as plt suite = [] def syracuse(n): u=n suite.append(u) while(u>1): if u%2: u=3*u+1 else: u//=2 suite.append(u) return suite def graphique(n): ax=plt.axes() syracuse(n) temps_vol_altitude=0 alt_max=max(suite) len_suite=len(suite) for i in range(1,len_suite-1): if suite[i]>=suite[0]: temps_vol_altitude+=1 else: break plt.plot(list(range(len_suite)),suite,'b.', linestyle='solid') plt.grid() plt.text(len_suite/3, alt_max, "Temps de vol : "+str(len_suite)) plt.text(len_suite/3, alt_max*0.95, "Altitude maximum : "+str(alt_max)) plt.text(len_suite/3, alt_max*0.9, "Temps de vol en altitude : "+str(temps_vol_altitude)) plt.title("Suite de Syracuse pour n ="+str(n)) ax = ax.set(xlabel='Temps de vol', ylabel='Altitude') plt.show()