这是很有可能是我见过的最令人困惑的代码片段,我似乎无法弄清楚它有什么问题。整数检查不起作用
a = 5
if a == 0 or 1 :
print "hi"
当运行时,它会打印“hi”,这一切都会让我感到困惑。 请提供一些见解,我可以如何使它不返回嗨,并表现正常。 (应该没有被返回)
这是很有可能是我见过的最令人困惑的代码片段,我似乎无法弄清楚它有什么问题。整数检查不起作用
a = 5
if a == 0 or 1 :
print "hi"
当运行时,它会打印“hi”,这一切都会让我感到困惑。 请提供一些见解,我可以如何使它不返回嗨,并表现正常。 (应该没有被返回)
a = 5
if (a == 0) or (a == 1): #changed from if a == 0 or 1
print ("hi")
#does not print 'hi'
检查a
对0
和1
独立。
这不是你错了;只是这个答案已经包含在一个副本中。 – Makoto
好的。我没有检查。 –
应该以这种方式工作:
while not a = 5:
if a in [0, 1]:
print "Hi"
你必须单独检查每个值:'如果== 0或== 1:'或*否则*你会*短用一个整数电路*第一个条件。 –
它是'如果(a == 0)或1:'。 –
'1'在Python中评估为'True' - 所以你得到'if False or True:'评估为True' – LocalVolatility