2016-10-04 5 views
0

これは私が今まで見た中で最も複雑なコードですが、何が問題なのか分かりません。整数チェックが機能しない

a = 5 
if a == 0 or 1 : 
    print "hi" 

実行すると、「hi」という文字が表示されるため、私を混乱させます。 どのように私はそれがハイに戻って正常に動作しないようにすることができますいくつかの洞察力を提供してください。独立01に対して

+1

をあなたは個別にそれぞれの値をチェックする必要があります: '== 0または== 1場合:'または他の*は*あなたが*短くなります-circuiting *整数の最初の条件。 –

+0

'if(a == 0)または1:'です。 –

+0

Pythonで '1'を' 1'と評価すると、 'FalseまたはTrueの場合:' Trueと評価されます。 – LocalVolatility

答えて

0
a = 5 
if (a == 0) or (a == 1): #changed from if a == 0 or 1 
    print ("hi") 
#does not print 'hi' 

チェックaを(それが何を返すべきではありません)。

+1

それはあなたが間違っているということではありません。この答えはすでに重複しているだけです。 – Makoto

+0

良いキャッチ。私はチェックしなかった。 –

0

それは、このように動作するはずです:

while not a = 5: 
      if a in [0, 1]: 
       print "Hi" 
関連する問題