无法解决为什么这个IF请求返回true

时间:2014-08-07 18:38:04

标签: python

有谁知道为什么Python中的IF请求返回true?这是代码:

var1 = 1

if var1 == 100 or 50:
    print "yes"
else:
    print "no"

我无法解决这个问题,因为var1不等于100或50.

3 个答案:

答案 0 :(得分:3)

对于if语句,它显示为if (var1 == 50) or 50

50是True,所以打印出“是”。

如果您想查看var1是100还是50,可以执行以下操作:

var1 = 1

if var1 == 100 or var1 == 50:
    print "yes"
else:
    print "no

答案 1 :(得分:2)

if var1 == 100 or 50:无法按照您的想法运作。

使用括号实际上看起来像if(var1 == 100) or 50

50不为零(零本身就是False,非零,正或负的整数本身就是True)所以它总是会评估True

请改用:

if var1 in (100,50):

答案 2 :(得分:0)

我认为你的语义不正确:

if var1 == 100 or var1 == 50:

似乎更有可能。