1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| def poly_quadratique(poly):
solutions=[]
if poly_degre(poly)!=2:
return 'None'
A=poly[0]
B=poly[1]
C=poly[2]
delta=B*B-4*A*C # On calcule delta, le discriminant, en fonction de A,B et C
if delta <0:
return (solutions) # Lorsque delta est négatif, il n'y a pas de solutions
if delta==0:
x=-B/2*A # Calcul de X
solutions+=[x]
return (solutions)
if delta >0:
racine_carre_delta=sqrt(delta) # On calcul la racine carré de delta
k=-B-racine_carre_delta # Variable qui va intervenir dans le calcul de X1
l=-B+racine_carre_delta # Variable qui va intervenir dans le calcul de x2
m=2*A # Variable qui va intervenir dans le calcul de X1 et X2
x1=k/m # Calcul de X1
x2=l/m # Calcul de X2
solutions+=[x1,x2]
return (solutions)
if not isclose( poly_quadratique([1, 0, -2])[0], -sqrt(2) ):
print ('L appel de la fonction isclose( poly_quadratique([1, 0, -2])[0], -sqrt(2) ) est fausse')
if not isclose( poly_quadratique([1, 0, -2])[1], sqrt(2) ):
print ('L appel de la fonction isclose( poly_quadratique([1, 0, -2])[1], sqrt(2) ) est fausse')
if poly_quadratique([1, 0, 1])!=[]:
print ('La fonction poly_quadratique([1, 0, 1])!=[] n a pas de solutions')
if poly_quadratique([1, 0, 0])!=[0.0]:
print ('La fonction poly_quadratique([1, 0, 0])!=[0.0] ne renvoie pas les bonnes racines')
if poly_quadratique([1, 0])!='None':
print ('La fonction poly_quadratique([1, 0])!=[None] n est pas une fonction du 2nd degré')
if poly_quadratique([1,0,0,0])!='None':
print ('La fonction poly_quadratique([1,0,0,0])!=None n est pas une fonction du 2nd degré') |
Partager