Structures de contrôles conditionnelles et répétitives

Nallitsac Messages postés 3 Date d'inscription samedi 30 janvier 2021 Statut Membre Dernière intervention 10 avril 2021 - Modifié le 30 janv. 2021 à 20:20
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 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...

Pouvez-vous m'aider s'il vous plaît ?

2 réponses

Nallitsac Messages postés 3 Date d'inscription samedi 30 janvier 2021 Statut Membre Dernière intervention 10 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 ?
0
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
30 janv. 2021 à 20:06
Bonjour

En python, l’indentation est primordiale, mais le site ne la conserve que si tu utilises les balises de code, voir https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

On ne pourra commencer à t’aider qu’une fois le code correctement présenté
0
Rejoignez-nous