2016-10-04 163 views
0

我有一个简单的问题,我似乎不明白为什么,force_edl变量值是'假'(它是我的Python脚本和用户输入True或False的选项),但条件if force_edl == False:if not force_edl似乎并不匹配,我怎么调试这个问题呢?下面的代码总是转到其他部分...是否有办法剥夺布尔值?布尔表达式不匹配

 print "force_edl " + force_edl //prints false 
     if force_edl == False: 
     #if not force_edl 
      print "False" 
     else: 
      print "True" 
+0

'force_edl'是一个字符串“False”?或者它*实际上是一个'bool'类型? – idjaw

+1

您是否将布尔值False的字符串“False”混淆? – stark

+0

听起来你的变量是_string_“False”,而不是实际的布尔值“False”。 –

回答

0

尝试在需要时将其设置为字符串,int或布尔值。现在你试图使用一个布尔值作为不会工作的字符串。

enter code here 
force_edl = int(False) 
print "force_edl " + str(force_edl) 
if force_edl == False: 
     print "False" 
else: 
     print "True" 
0

不能连接“STR”和“布尔” 。所以如果这个

print "force_edl " + force_edl 

不会给你一个错误那么你的force_edl绝对不是一个布尔。

这就是为什么你如果打印真

force_edl = False 

if force_edl == False: 
    print "FALSE" 
else: 
    print "TRUE" 

上面更正后的代码段肯定会打印False。

请让我知道,如果这清除了你的疑问。