2016-04-21 62 views
1

嘗試配置以下if else如何分辯`0`從`FALSE`在蟒蛇

基本上0是等於在Python False ...

我想明白爲什麼出現這種情況,我怎麼能在這種情況下解決方法:

x=0 

if x==False: 
    print "x == False" #always prints this line 
elif x == 0: 
    print "x == 0" 

欣賞的幫助:

編輯:

已經嘗試過x = int(0)

+2

我想你想使用'False'具有一些特殊的含義,如失敗而不是數字。我建議使用'None'。 –

+0

@AlexHall這正是我的意思!謝謝!!!對不起 –

回答

6

您應該使用x is False檢查x是否正是False

我懷疑你真的需要它。

+0

是的!解決了我的問題!謝謝!!!是的,我不需要它,我將使用沒有而不是0.謝謝! –

1
if x is False: 
    print "x is False" #always prints this line 
elif x is 0: 
    print "x is 0" 

因爲0 == False而是0 is not False

+0

是的!解決了我的問題!謝謝!!! –

+0

不會將數字與'is'進行比較! 'x = 10 ** 3; y = 10 ** 3; x是y' =>'False' – hop