Il s'agit d'un programme très simple de DICE rouleau qui continue de rouler deux dés jusqu'à ce qu'il soit double six. Donc, ma déclaration est structurée comme suit:
while DieOne != 6 and DieTwo != 6:
Pour une raison quelconque, le programme se termine dès que DieOne
obtient six. DieTwo
n'est pas pris en compte du tout.
Mais si je change le and
à un or
Dans la déclaration alors que le programme fonctionne parfaitement. Cela n'a pas de sens pour moi.
import random
print('How many times before double 6s?')
num=0
DieOne = 0
DieTwo = 0
while DieOne != 6 or DieTwo != 6:
num = num + 1
DieOne = random.randint(1,6)
DieTwo = random.randint(1,6)
print(DieOne)
print(DieTwo)
print()
if (DieOne == 6) and (DieTwo == 6):
num = str(num)
print('You got double 6s in ' + num + ' tries!')
print()
break
Ce dont vous avez besoin est Not
au lieu de !=
.
essaye ça:
while not (DieOne == 6 or DieTwo == 6):