我想在一個while
循環使用and
,但它似乎不能很好地工作。例如:使用「和」多次循環使用Python
while (A1==0) and (A2==0) and (A3==0) and (A4==0):
有了這一個,它似乎結束對第一和第二and
循環,而不是一味的所有條件滿足。這是錯誤的方式使用and
與while
循環?
下面是代碼:
import random
B1=0
B2=0
B3=0
B4=0
A = random.randrange(1,5)
while all([B1==0, B2==0, B3==0, B4==0]):
if A != B1:
B1 = A
print(B1)
A = random.randrange(1,5)
if (A!= B2) and (A!= B1):
B2 = A
print(B2)
A = random.randrange(1,5)
if (A!= B3) and (A!= B2) and (A!= B1):
B3=A
print(B3)
A = random.randrange(1,5)
if (A!= B4) and (A!= B3) and (A!= B2) and (A!= B1):
B4=A
print(B4)
我想打印在隨機順序1,2,3,4,但它通常會打印2或3其中。
向我們展示你的代碼的其餘部分。 – jwodder
在'和'中,如果第一個條件'A1 == 0'是假的,則不評估其他條件。你期望的行爲是什麼? – ZdaR
某處A1,A2,A3或A4變成非零(或者你有一個break語句)......尋找那個 –