web-dev-qa-db-fra.com

Python 'alors que "avec deux conditions:" et "ou" ou "ou"

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
7
ghulseman

Ce dont vous avez besoin est Not au lieu de !=.

essaye ça:

while not (DieOne == 6 or DieTwo == 6):
1
gaurav ujjain