Menu

Problème boucle while

- - Dernière réponse :  FireStorm - 8 avril 2019 à 22:52
Bonjour,
J'ai voulu mettre dans un programme une boucle while qui se répète tant que la réponse à ma question n'est pas "oui" ou "non" (Un truc basique quoi.)
while valide != True:
-------reponserecom = input("Souhaitez-vous recommencer? (oui ou non): ").lower()
-------if reponserecom == "oui" or "non":
-----------valide = True
Or, même quand valide est en False, la boucle s'arrête et passe à la suite. Quelqu'un pourrait me dire ce qui ne va pas?
Merci d'avance;
Afficher la suite 

Votre réponse

1 réponse

Messages postés
7733
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2019
460
0
Merci
comment sais-tu que valide est faux? je ne vois pas d'instruction qui en affiche la valeur. je pense que tu supposes qu'il est faux, et tu ne cherches donc pas pourquoi il est vrai.
en réalité, tu testes ainsi:
if (reponserecom == "oui")  or ("non"):
, et "non" est toujours vrai.
alors que tu veux probablement tester:
if (reponserecom == "oui")  or (reponserecom == "non"):
Ah nan pardon c'est print(valide) et il est à la ligne au dessus, je sais pas pourquoi j'ai mis ça désolé..
quent217
Messages postés
276
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
23 avril 2019
86 -
Bonjour,
en mettant le print à cet endroit là ou à la ligne du dessus, tu verras sa valeur avant qu'elle ne soit modifié dans le if, il est donc logique qu'il affiche False car tu as initialisé valide à False avant la boucle.
Si tu met le print(valide) à la dernière ligne de la boucle, tu verras que valide vaut True.
> quent217
Messages postés
276
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
23 avril 2019
-
Effectivement, c'est bien True... mais du coup pourquoi quand je mets autre chose que oui ou non ça mets quand même valide à True?
yg_be
Messages postés
7733
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2019
460 > FireStorm -
as-tu lu ma réponse #1?
> yg_be
Messages postés
7733
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 avril 2019
-
Ah oui au temps pour moi, ça a marché! J'ai juste mal saisi la logique...
Commenter la réponse de yg_be