Python
Résolu
Higevi34
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Si il y a des bons programmeurs de python parmi nous peuvent-ils m'aider à voir l'erreur dans ce bout de code :

En faite ce que je cherche à faire c'est de forcer l'utilisateur à écrire bonjour ou bonsoir
et tant que ce n'est pas écrit on lui repose la question.
Le problème c'est qu'une fois testé dans l'interpréteur la question est posée
en permanence même si on remplit une des deux conditions.
Je veux juste comprendre pourquoi il affiche la question sans arrêt alors qu'il y a bien une condition (même deux !) pour arrêter la boucle.
J'ai déja réussi à faire ce que je voulais d'une autre façon : en mettant une deuxième variable booléenne. Mais le code est plus long.
Ce code marche aussi si on mets seulement une condition dans le while et non deux. Et ça je ne comprends pas. J'ai pourtant mis le "or"=ou. )
Si il y a des bons programmeurs de python parmi nous peuvent-ils m'aider à voir l'erreur dans ce bout de code :
En faite ce que je cherche à faire c'est de forcer l'utilisateur à écrire bonjour ou bonsoir
et tant que ce n'est pas écrit on lui repose la question.
Le problème c'est qu'une fois testé dans l'interpréteur la question est posée
en permanence même si on remplit une des deux conditions.
Je veux juste comprendre pourquoi il affiche la question sans arrêt alors qu'il y a bien une condition (même deux !) pour arrêter la boucle.
J'ai déja réussi à faire ce que je voulais d'une autre façon : en mettant une deuxième variable booléenne. Mais le code est plus long.
Ce code marche aussi si on mets seulement une condition dans le while et non deux. Et ça je ne comprends pas. J'ai pourtant mis le "or"=ou. )
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peux-tu partager du texte, et pas des images? et utiliser les baises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
c'est un soucis de logique, pas de programmation.
la condition est toujours vraie, le texte étant évidemment toujours différent de l'un des deux.
un peu comme si tu écrivais "je reste à l'intérieur quand le jour n'est pas un samedi ou n'est pas un dimanche": tu ne sortiras jamais.
tu veux probablement utiliser "et", et pas "ou".
donc
ou bien
mais surement pas
peux-tu partager du texte, et pas des images? et utiliser les baises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
c'est un soucis de logique, pas de programmation.
la condition est toujours vraie, le texte étant évidemment toujours différent de l'un des deux.
un peu comme si tu écrivais "je reste à l'intérieur quand le jour n'est pas un samedi ou n'est pas un dimanche": tu ne sortiras jamais.
tu veux probablement utiliser "et", et pas "ou".
donc
!= and !=
ou bien
not ( = or =)
mais surement pas
!= or !=
Je te remercie pour ta réponse.
En effet, je viens d'essayer le code en utilisant "and" et il est fonctionnel.
J'ai encore un peu de mal à voir pourquoi le "or" ne marchait pas.
Littéralement le code voudrait dire : Tant que a est différent de Bonjour ou a est différent de Aurevoir :
Reposer la question.
D'ailleurs voici le code tel que je l'ai essayé au départ :
presque tous les mots sont différents de bonjour et différents de aurevoir.