While et opérateurs or et and
Résoluyg_be Messages postés 23541 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
- While et opérateurs or et and
- Or - Guide
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Find and mount - Télécharger - Récupération de données
- Carre or bercy ✓ - Forum Loisirs / Divertissements
- Reboot and select proper boot device or insert boot media in selected boot device and press a key ✓ - Forum PC portable
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
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.
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.