Vergleich mit unterschiedlichem Ausgang

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
GniLudio
User
Beiträge: 1
Registriert: Montag 20. Januar 2020, 11:28

Innerhalb eines Vergleichs geben Operator wie (<,>,...) den letzten Wert zurück:
5 < 6 --> 5
Dagegen, wenn man dies einer Variable zuweist, bekommt man den Boolean-Wert:
a = 5<6 --> a == True

So kommt es, dass ein Vergleich unterschiedliche Ergebnisse bekommt:
1) True
5<6 == 6
2) False
a = 5<6
a==6

Ich finde dies verwirrend.
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

print(5 < 6 == 6)

5 < 6 == 6 ist wie 5 > 6 and 6 == 6

Wenn du jetzt aber jetzt die Rückgabe an eine Variable bindest, also a = 5 < 6 ist a True und True ist nicht gleich 6 , also kommt insgesamt False raus.
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

@GniLudio Und um dein Wissen zu vervollständigen, oder dich vollends zu verwirren, vollzieh doch mit dem Wissen, dass Jankie dir gepostet hat, mal folgendes nach:

Code: Alles auswählen

>>> 0<1
True
>>> 0<1==1
True
>>> a = 0<1
>>> a==1
True
Die erste Aussage aus deinem Post verstehe ich übrigens nicht. Wie kommst du denn hierauf:
Innerhalb eines Vergleichs geben Operator wie (<,>,...) den letzten Wert zurück:
5 < 6 --> 5
Antworten