2016-04-21 6 views
1

Ich versuche, die folgende if else zu konfigurieren:Wie differenzierbare '0' von `false` In Python

Grundsätzlich 0ist gleich-False in Python ...

Ich möchte verstehen, warum dies geschieht und wie ich in diesem Fall umgehen kann:

x=0 

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

Schätzen Sie die Hilfe:

EDIT 10

:

bereits versucht x = int(0)

+2

Ich denke, Sie möchten 'False' verwenden, um eine bestimmte Bedeutung zu haben, wie zum Beispiel Fehler im Gegensatz zu einer Zahl. Ich empfehle stattdessen, 'None' zu ​​verwenden. –

+0

@AlexHall das ist genau das, was ich meinte! Vielen Dank!!! Entschuldigung für das Noobness –

Antwort

6

Sie x is False verwenden sollten, um zu überprüfen, ob x genau False.

Ich bezweifle, dass Sie es wirklich brauchen.

+0

yep! löste mein Problem! Vielen Dank!!! und ja, ich werde es nicht brauchen Ich werde keine anstelle von 0 verwenden. Danke! –

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

Da 0 == False aber 0 is not False.

+0

ja! löste mein Problem! Vielen Dank!!! –

+0

Zahlen nicht mit 'is' vergleichen! 'x = 10 ** 3; y = 10 ** 3; x ist y' => 'Falsch' – hop

Verwandte Themen