【发布时间】:2021-10-13 03:00:01
【问题描述】:
从逻辑上讲,这是有道理的,但不起作用。
dice = 0
while True:
dice = int(input("enter dice: "))
if (dice != 4 or dice != 6 or dice != 8 or dice != 10 or dice != 12 or dice != 20):
print("invalid")
elif (dice == 4 or dice == 6 or dice == 8 or dice == 10 or dice == 12 or dice == 20):
print("valid")
break
print("Accepted dice")
我不断收到无效的打印语句。希望将其作为一个循环,直到选择正确的模具之一。
【问题讨论】:
-
您的第一个
if中的逻辑有缺陷,它总是会评估为真。以dice != 4 or dice != 6为例,它永远不会为假,只有dice == 4时,第一部分才会为假,但这使得第二部分为真