## 5.2 Exercice : Racines d'une quadratique avec une fonction # Reprendre l'exemple du calcul des racines d'une équation de seconde degré # et placer les calculs dans la fonction {\tt quadratique(a, b, c)} qui # reçoit en paramètre les coefficients {\it a,b} et {\it c} et renvoie les # racines de cette équation. from math import sqrt def quadratique(a, b, c): if (a == 0): if ( b != 0) : return ("Pas quadratique : racine simple x "+str(-c/b)) else: return ("une blague ! ") else : delta=b*b-4*a*c #b*b OU b**2 if(delta < 0) : return ("pas de racines réelles") else : if(delta>0) : # Le test initial sur la valeur de "a" montre son intérêt ici. assert(a != 0) # Pas utile mais on montre aux élèves l'intérêt de "assert". x1=(-b+math.sqrt(delta))/(2*a) x2=(-b-math.sqrt(delta))/(2*a) return ("x1 = "+str(x1)+ " x2 = "+ str(x2)) else : x1 = x2 = -b/(2*a) return ("racine double x1 = x2 = "+str(x1)) # La partie principale a=int(input('Donner le coefficient a : ')) b=int(input('Donner le coefficient b : ')) c=int(input('Donner le coefficient c : ')) print(quadratique(a,b,c)) ## 5.3 Exercice : Moyenne et écart type # Créer une liste de 100 nombres de la distribution N(16,2). import random echantillon=[random.gauss(16,2) for n in range(100)] def moyenne_liste(liste): return sum(liste)/len(liste) def variance(liste): moy=moyenne_liste(liste) return moyenne_liste([(x-moy)**2 for x in liste]) # ---------- Partie Principale ---------- # Pour tester nos calculs sans lire des entiers, on fait un tirage Normale echantillon=[random.gauss(16,2) for n in range(100)] print("Moyenne = " , moyenne_liste(echantillon)) print("Ecart type = " , variance(echantillon)**0.5) # %* {\color{magenta} $\sqrt{Var}$} *) """ TRACE : Moyenne = 15.92301989946788 Ecart type = 1.9934234202474366 """ # 5.4 Variante : Exercice (suite écart type) echantillon=[random.gauss(16,2) for n in range(100)] varia = moyenne([x**2 for x in echantillon])-moyenne(echantillon)**2 print("De la seconde façon : ", varia**0.5) """ Trace : De la seconde façon : 1.8839867058987951 """