Erreur Python
Fermé
Kooky
-
Modifié le 20 sept. 2021 à 13:56
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 21 sept. 2021 à 10:25
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 21 sept. 2021 à 10:25
A voir également:
- Erreur Python
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Citizen code python - Accueil - Outils
- Erreur 1001 outlook - Accueil - Bureautique
- Instagram une erreur s'est produite ✓ - Forum Instagram
6 réponses
jee pee
Messages postés
41198
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
5 mai 2025
9 613
Modifié le 20 sept. 2021 à 14:16
Modifié le 20 sept. 2021 à 14:16
Bonjour,
Une instruction qui initialise un bloc dépendant indenté (if, while, ...) se termine par
Ils manquent en ligne 4 et 15
Puis l'indentation sur ta question, n'est pas correcte, mais c'est peut être du au fait qu'un modérateur à ajouté la coloration syntaxique du code que tu n'avais pas mise. La ligne 7 devrait être alignée sur la 6 et ainsi de suite.
Et si l'utilisateur répond "OUI" au lieu de Y ou N il se passe quoi ?
Une instruction qui initialise un bloc dépendant indenté (if, while, ...) se termine par
:
Ils manquent en ligne 4 et 15
Puis l'indentation sur ta question, n'est pas correcte, mais c'est peut être du au fait qu'un modérateur à ajouté la coloration syntaxique du code que tu n'avais pas mise. La ligne 7 devrait être alignée sur la 6 et ainsi de suite.
Et si l'utilisateur répond "OUI" au lieu de Y ou N il se passe quoi ?
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
20 sept. 2021 à 15:52
20 sept. 2021 à 15:52
Bonjour,
elif b >= 0 and c <= 0 : il y a un print tout seul
Pourquoi des parenthèses ligne 15 et par sur les autres tests ?
Autant en mettre partout, ca marche mais ce serait plus homogène
elif b >= 0 and c <= 0 : il y a un print tout seul
Pourquoi des parenthèses ligne 15 et par sur les autres tests ?
Autant en mettre partout, ca marche mais ce serait plus homogène
Merci.
Mais j'avoue que je ne comprends pas encore complètement comment aligner mes conditions pour qu'elles soient fonctionnelles.
Mais j'avoue que je ne comprends pas encore complètement comment aligner mes conditions pour qu'elles soient fonctionnelles.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 20 sept. 2021 à 19:28
Modifié le 20 sept. 2021 à 19:28
c'est simple:
Les actions sont indentées par rapport aux tests if, elif, else
Dans ton cas si la réponse au 1er test est 'Y', on demande les soldes et on teste les valeurs
donc les lignes 5 à 14 sont ce que l'on fait dans ce cas et donc elles sont toutes indentées par rapport à la ligne 4
On pourrait même faire ça:
if(une condition): on fait un truc elif(une autre condition): on fait un autre truc else: sinon, on fait autre chose
Les actions sont indentées par rapport aux tests if, elif, else
Dans ton cas si la réponse au 1er test est 'Y', on demande les soldes et on teste les valeurs
donc les lignes 5 à 14 sont ce que l'on fait dans ce cas et donc elles sont toutes indentées par rapport à la ligne 4
On pourrait même faire ça:
a=str(input("Lancement de la gestion des comptes ? Y/N") if(a=="Y"): b=int(input("Solde du compte de Guillaume?")) c=int(input("Solde du compte de Marion?")) if(b <= 0): if(c <= 0): print("Tous les deux en negatif !", "\n" ,"Impossible de retablir la situation") elif(c >= 0): print ("Guillaume est en negatif. Marion peut lui transferer", c-b ) elif(b>= 0): if(c >= 0): print("Tous les deux en positif !") elif(c <= 0): print("Marion est en negatif. Guillaume peut lui transferer", b-c) else: print("Ok. A bientot.")
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
21 sept. 2021 à 09:18
21 sept. 2021 à 09:18
Bonjour,
Remarques:
si le 1er test est
le elif est forcement
(strictement > à 0)
Remplace les noms de variables comme a,b,c par des noms plus parlants
reponse = input(.....
solde_Guillaume, solde_Marion
Remarques:
si le 1er test est
if(b <= 0):
le elif est forcement
if(b > 0):
(strictement > à 0)
Remplace les noms de variables comme a,b,c par des noms plus parlants
reponse = input(.....
solde_Guillaume, solde_Marion
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 21 sept. 2021 à 10:26
Modifié le 21 sept. 2021 à 10:26
Pas besoin de faire a=str(input( : on saisi forcément une string
b = int(input( : on saisi un entier, donc le solde du compte ne peut pas etre comme ça : 1957.36
Pour revenir à la remarque de Jee Pee: que se passe-t-il si la réponse est différente de Y ou N ?
Il faut reposer la question tant que ce n'est pas correct, donc faire une boucle tant que réponse n'est ni 'Y' ni 'N', ca ressemblerai à ça:
b = int(input( : on saisi un entier, donc le solde du compte ne peut pas etre comme ça : 1957.36
Pour revenir à la remarque de Jee Pee: que se passe-t-il si la réponse est différente de Y ou N ?
Il faut reposer la question tant que ce n'est pas correct, donc faire une boucle tant que réponse n'est ni 'Y' ni 'N', ca ressemblerai à ça:
reponse = '' while(not reponse in ['Y', 'N']): os.system('cls' if os.name=='nt' else 'clear') reponse = input("Lancement de la gestion des comptes ? (Y/N) : ")
20 sept. 2021 à 19:05