我现在有代码:

fleechance = random.randrange(1,5)
print fleechance
if fleechance == 1 or 2:
    print "You failed to run away!"
elif fleechance == 4 or 3:
    print "You got away safely!"

fleechance一直在打印3或4,但我仍然得到结果“你没有逃跑!”,有人能告诉我为什么会这样吗?

最佳答案

表达式fleechance == 1 or 2等同于(fleechance == 1) or (2)。数字2始终被视为“真”。
试试这个:

if fleechance in (1, 2):

编辑:在你的情况下(只有两种可能性),以下情况会更好:
if fleechance <= 2:
    print "You failed to run away!"
else:
    print "You got away safely!"

07-26 05:26