s’il vous plaît aidez moi à faire l’exercice 15

1) On te demande de créer une fonction Python delta(a,b,c) pour retourner le discriminant de (E).
Premièrement, avant d'écrire tout algorithme, tu vas poser sur le papier (ou dans ta tête si tu es à l'aise) les éléments que tu vas utiliser :
Deuxièmement, tu vas commencer à structurer ton algorithme :
Enfin, tu rédiges (ou tu le tapes sur l'ordi) au propre ton algorithme.
2) On te demande de créer une fonction Python nombre_solutions(a,b,c) pour retourner le nombre de solutions de (E).
Comme on te le précise (et en toute logique) tu vas utiliser la fonction delta(a,b,c) que tu viens de créer dans le 1). Pour ce faire, tu vas légèrement modifier cette fonction :
Procédons comme tout à l'heure par étapes :
Rappel :
Un problème peut se poser quant au choix de la boucle. Dans cette situation, pose toi simplement la question : qu'est-ce que je cherche à faire ? Dans ce cas, on cherche les solutions. Donc on doit se demander :
Tu remarqueras qu'on a posé une interrogation usant du "si". Je te laisse en déduire quelle boucle il est nécessaire de choisir dans le cas de l'exercice...
Rappel : « = » n'est pas équivalent à « == ». En Python, le signe « = » correspond à l'incrémentation d'une valeur (on dit par exemple que « a devient 1 » pour « a=1 »). Le signe « == » correspond lui bien au "égal" que nous connaissons.
Une fois que tu as tout recopié au propre, tu peux passer à la question suivante.
3) On te demande de créer un autre programme pour donner les solutions de l'équation.
On va aller au plus simple. Je le précise et c'est le cas pour tout cet exercice, il y a d'autres façons de procéder ; ici, je tâche de t'expliquer le plus clair possible. Il y a également d'autres algorithmes possibles.
Donc, dans ce cas, je te propose de reprendre tout simplement ta fonction précédente pour ajouter en son sein quelques éléments :
Je vais tâcher d'aller plus rapidement sachant qu'on a expliqué les étapes auparavant. Il faut donc procéder ainsi :
Remarque : Par esthétique, tu peux utiliser des « print(...) » à la place de « return » pour désigner ce que tu renvoies comme résultat. D'ailleurs, c'est ce que tu vas devoir utiliser pour ∆ < 0.
Maintenant que tu as reçu les explications détaillées, je vais te montrer les algorithmes obtenus.
1) def delta(a,b,c) :
x = 1
E = a*x**2 + b*x + c + 0
d = b**2 - 4*a*c
return d
2) def nombre_solutions(a,b,c) :
x = 1
E = a*x**2 + b*x + c + 0
d = b**2 - 4*a*c
if d > 0 :
return 2
elif d == 0 :
return 1
else :
return 0
3) import math
def nombre_solutions(a,b,c) :
x = 1
E = a*x**2 + b*x + c + 0
d = b**2 - 4*a*c
if d > 0 :
x1 = (-b - math.sqrt(d)) / 2*a
x2 = (-b + math.sqrt(d)) / 2*a
return x1, x2
elif d == 0 :
x0 = -b / 2*a
return x0
else :
print("pas de solutions")
J'espère que ces explications ont pu t'aider !