我遇到了一个奇怪的问题,即以下python(2.7.3)脚本。有时,例如a = true and b = false随后的if-lause评估为false,内部的代码将不会运行。
它总是第一次起作用A,B或两个都是正确的,但有时以后会随机失败。
谁能解释这种行为以及如何避免这种行为?谢谢。
while True:
a = b = False
a = func1() # Returns True or False
b = func2() # Returns True or False
print a # Just for debugging..
print b # Just for debugging..
if(a or b):
print "Here we are.."
func3() # It may take hours until we return from here
time.sleep(45)
它可能与python认为是" true"的值有关。有时这些规则不是直观的。您可能需要检查有关该主题的文档。为了帮助调试,也许您可以尝试而不是
print a
print b
之类的东西 print a
if a:
print "a is True"
print b
if b:
print "b is True"
这至少应该确认您是正确的/错误是*实际/fals/fals。