While et opérateurs or et and
Résoluyg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
en voulant m'entrainer avec les boucles while, je me trouve fasse à un souci.
reponse = ""
while reponse != "oui" or reponse != "non":
reponse = input("Un café ? ")
else:
print("OK")
si je réponds "oui" ou "non, le programme continue de boucler. et me redemande "Un café".
Mais si je remplace l'opérateur "or" par "and", le programme se met à fonctionner.
Il me semblait pourtant que True and False ou bien False and True = False.
Alors qu'avec l'opérateur "or", il suffit d'un seul True dans une condition pour que la condition soit validée ?
Merci d'avance !
Windows / Chrome 108.0.0.0
2 réponses
-
Bonsoir
tout d'abord, pour poster un code, merci de préciser qu'il s'agit de python, comme décrit là
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite, je te conseille la lecture d'un cours sur l'algèbre de Bool.
Ca aide beaucoup en développement de savoir de quoi il retourne
https://www.qwant.com/?client=brz-brave&q=algebre+de+bolo+cours&t=web
-
Bonsoir,
je crois avoir compris,
Avec l'opérateur or, si la réponse donnée est "oui" ou "non", une des deux conditions devient : False, mais étant donné que l'autre condition reste : True, avec l'opérateur or, l'ensemble reste True. Donc le programme continue à boucler.
Merci pour la réponse en tout cas.
-
-
Certes.
Mais quand tu auras besoin de mélanger des et des ou des ou exclusifs des non etc...
Le feras tu aussi au petit bonheur la chance ?
Comme pour l'algèbre numérique, chaque opération a un résultat spécifique, il y a des priorités et des propriétés.
Connaitre l'algèbre de bool permet d'éviter des déconvenues.