布尔表达式不匹配

时间:2016-10-04 00:51:18

标签: python

我有一个简单的问题,我似乎不明白为什么,force_edl变量值是' False" (它是我的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"

2 个答案:

答案 0 :(得分:0)

你不能连接'str'和'bool'。所以如果这个

print "force_edl " + force_edl 

没有给你一个错误然后你的force_edl绝对不是一个布尔。

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

force_edl = False

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

以上更正的片段肯定会打印错误。

如果这清楚了你的疑问,请告诉我。

答案 1 :(得分:0)

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

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