Comportement étrange dans une boucle...

Fermé
Fargaroth - 27 févr. 2021 à 15:30
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 - 27 févr. 2021 à 17:58
Bonjour,

J'ai créer un script python qui simule un tirage de jeu d'argent, il fonctionne mais d'une manière bizarre... en effet dans une de mes boucles, le résultat attendu de "or" et "and" sont inversé!!!

Voici ma ligne de code :
while numeroJoue - tirageNumero != set() or etoileJoue - tirageEtoile != set():

Pour que mon programme sorte de la boucle avec "or", il faut que les 2 conditions soi verifier, alors que si je remplace par "and", avec une seule condition verifier mon programme sort de la boucle!!!

Ca devrait être l'inverse non?

Merci

Configuration: Linux / Chrome 88.0.4324.182

2 réponses

jee pee Messages postés 40512 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 décembre 2024 9 440
Modifié le 27 févr. 2021 à 15:41
Salut,

Il faut étudier les lois de Morgan : https://fr.wikipedia.org/wiki/Lois_de_De_Morgan

https://en.wikipedia.org/wiki/De_Morgan%27s_laws

    not (A or B)  = not A and not B
not (A and B) = not A or not B


1
Entendu je crois avoir pigé!

Merci a toi pour cette réponse ultra rapide!
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556
Modifié le 27 févr. 2021 à 16:09
bonjour, exactement comme en français!
0
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
27 févr. 2021 à 17:43
Ah le fameux théorème de De Morgan !

Moi, j'ai vu ça en automatismes, en 1974 ou 1975 ...

Effectivement lorsque je cherche le else d'un test du style

if(a==1 and b!=0):


j'inverse tout:

if(a!=1 or b==0):
0
yg_be Messages postés 23361 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 29 novembre 2024 1 556
27 févr. 2021 à 17:58
il fait beau et je suis en vacances

devient, en négatif:
il ne fait pas beau ou je ne suis pas en vacances


le fameux théorème du bon sens?
0