web-dev-qa-db-ja.com

Python '2つの条件で' and "または"または "または"

これは、2つのサイコロが2倍になるまで2つのサイコロを回転させる非常に単純なサイコロールプログラムです。だから私のwhile文は次のように構成されています。

_while DieOne != 6 and DieTwo != 6:
_

何らかの理由で、プログラムはDieOneの次第に終了します。 DieTwoはまったく考慮されていません。

ただし、whileステートメントのandorに変更した場合、プログラムは完全に機能します。これは私には意味がありません。

_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

必要なのは!=の代わりにNotです。

これを試して:

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