2016-10-04 14 views
0

なぜ私は理解できないのですか?force_edl変数値が 'False'(私のpythonスクリプトのオプションで、ユーザーはTrueまたはFalseを入力します)が、条件はif force_edl == False:私はこの問題をデバッグするのですかとif not force_edl doesntのが一致するように見える、?コードは、常に他の部分に行くの下に...ブール値を除去する方法はありますか?ブール式が一致しません

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

「force_edl」は文字列「False」ですか?あるいは、実際には 'ブール'型ですか? – idjaw

+1

文字列 "False"とブール値Falseを混同していますか? – stark

+0

変数のように、実際のブール値の 'False'の代わりに_string_" 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は間違いなくboolではありません。

だからこそあなたのifが真であるを印刷します。

force_edl = False 

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

上記の修正スニペットは間違いなく偽を出力します。

これが疑問を解決するかどうか教えてください。

関連する問題