我想在一个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语句)......寻找那个 –