-4
m = 5
if m == 1 or 4:
    print("x") 
else:
    print("y")

我希望这段代码打印 y,而不是 x。

4

3 回答 3

4

4评估为真,因此结果

m = 5
if m == 1 or m == 4:
    print("x") 
else:
    print("y")

小提琴

于 2019-04-10T11:22:35.300 回答
2

零以外的数字是隐含的 True。阅读运算符优先级

你写的实际上翻译成:

m = 5
if (m == 1) or True:
    print("x") 
else:
    print("y")

你的if永远是真实的。

于 2019-04-10T11:25:02.310 回答
1

尝试:

if m == 1 or m == 4:

反而。

于 2019-04-10T11:24:45.670 回答