Structures de contrôles conditionnelles et répétitives
Nallitsac
Messages postés3Date d'inscriptionsamedi 30 janvier 2021StatutMembreDernière intervention10 avril 2021
-
Modifié le 30 janv. 2021 à 20:20
Whismeril
Messages postés18643Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 3 octobre 2023
-
30 janv. 2021 à 20:06
Bonsoir,
Je débute dans la programmation en python et j'aurais besoin d'aide pour un exercice sur lequel je ne parviens qu'à obtenir des messages d'erreur.
Soit l'équation du second degré : ax²+bx+c
Il me faut utiliser la fonction if/else dansl e programme afin qu’il affiche les messages suivants selon le cas : aucune racine réelle, une racine réelle double et sa valeur, ou bien deux racines réelles distinctes et leurs valeurs.
Voici ce que j'ai essayé de faire :
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
delta = b**2-4*a*c
if <delta >= 0> :
<x1 = ((-b)-sqrt(delta)) / (2*a)
x2 = ((-b)+sqrt(delta)) / (2*a)
print("x1 = :", x1,"x2 =", x2)>
elif <delta == 0> :
<x = (-b) / (2*a)
print("x =", x)>
else:
<print("L'équation ne possède pas de racine réelle")>
Malheureusement tout ce que j'ai pu obtenir jusqu'à présent, ce sont des messages d'erreurs...
Nallitsac
Messages postés3Date d'inscriptionsamedi 30 janvier 2021StatutMembreDernière intervention10 avril 2021 Modifié le 30 janv. 2021 à 20:20
Je crois avoir trouvé :
delta = b**2-4*a*c
y1 = (-b) / (a*2)
x1 = ((-b)-sqrt(delta))/(2*a)
x2 = ((-b)+sqrt(delta))/(2*a)
if delta >0 : print("x1 =", x1,"x2 =", x2)
elif delta == 0 : print("y1 =", y1)
else:print("L'équation ne possède pas de racine réelle")
Malheureusement la console ne reconnait pas les résultats négatifs, chaque fois que je cherche d'afficher le résultat "pas de racine réelle" avec un delta négatif je reçois un message d'erreur. J'ai néanmoins pu trouver les deux autres résultats pour delta supérieur ou égal à 0. Dites-moi s'il est possible de permettre à la console de calculer les résultats négatifs s'il vous plait.
Par ailleurs je n'arrive pas à la faire fonctionner ailleurs que sur l'onglet "main" : dès que j'efface le contenu sur cet onglet pour le mettre sur d'autres (par exemple "exercice 10") plus rien ne se passe sur la console et je dois le réécrire sur "main" pour pouvoir faire fonctionner la console. Pouvez-vous me dire comment régler ce problème s'il vous plait ?