2016-10-04 4 views
0

У меня простая проблема, о которой я, кажется, не понимаю почему, force_edl Значение переменной - «False» (ее опция для моего скрипта python и пользователя вводит True или False), но условия if force_edl == False: и if not force_edl не кажется, совпадают, как отладить эту проблему? ниже код всегда идет к еще часть ... есть способ лишить значения BOOL?boolean выражение не соответствует

 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 или boolean, когда это необходимо. Прямо сейчас вы пытаетесь использовать логическое значение как строку, которая не работает.

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

Вы не можете сцепить «ул» и «BOOL» . Так что, если это

print "force_edl " + force_edl 

не дает вам ошибки тогда ваш force_edl определенно не является bool.

Именно поэтому ваши, если отпечатки True.

force_edl = False 

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

Выше исправленный фрагмент определенно напечатает False.

Дайте мне знать, если это очистит ваши сомнения.

Смежные вопросы