Servus Leute,
bin ziemlicher Python Anfänger und lerne gerade alles aus einem Buch.
Im jetzigen Kapitel soll ich bestimmte Werte auf Gleichheit prüfen.
Sprich, wenn ich eingebe: car = "bmw"
car == "bmw"
print(car == car)
Wird es mit True ausgegeben.
Wenn ich aber folgendes eingebe: car = "audi"
car == "bmw"
print(car == car)
wird es trotzdem noch als True ausgegeben, obwohl es im Buch mit False ausgegeben wird.
Weiß jemand was ich falsch mache?
LG
Prüfung auf Gleichheit
-
Kampfgummibaerlie
- User
- Beiträge: 27
- Registriert: Freitag 18. Juni 2021, 14:44
Code: Alles auswählen
>>> car = 'bmw'
>>> car == "bmw"
True
>>> car = "audi"
>>> car == "bmw"
False
also liegt der Fehler nicht am Code
EDIT:
du kontrollierst, ob die Variable car der Variable car entspricht, Fehler entdeckt... (guten Morgen xD)
muss also stimmen...
EDIT2:
probier mal car == "bmw"
dann prpüfst du ob die String Variable "car" dem Wert "bmw" entspricht, diese kann auch false ausgeben
Zuletzt geändert von Kampfgummibaerlie am Donnerstag 16. September 2021, 11:59, insgesamt 1-mal geändert.
@Kampfgummuebaerlie: Das ist nicht der Code, den der Threadstarter geschrieben hat.
@yendar:
Wenn du etwas an den Namen "car" bindest, dann ist car natürlich immer gleich car. Es ist ja gleich sich selbst. car == car kann also niemals False sein.
Wenn car den Wert "audi" hat, dann ist car == "bmw" False, weil "audi" != "bmw".
@yendar:
Wenn du etwas an den Namen "car" bindest, dann ist car natürlich immer gleich car. Es ist ja gleich sich selbst. car == car kann also niemals False sein.
Wenn car den Wert "audi" hat, dann ist car == "bmw" False, weil "audi" != "bmw".
- __blackjack__
- User
- Beiträge: 14335
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Ich kann's mir nicht verkneifen:
`car` ist in diesem Fall natürlich nicht an eine Zeichenkette gebunden. Sondern an eine Zahl. Beziehungsweise gerade an eine Nicht-Zahl. Sehr pathologischer Fall beim Vergleichen.
Code: Alles auswählen
In [317]: car == car
Out[317]: FalseCode: Alles auswählen
In [318]: car
Out[318]: nan
In [319]: type(car)
Out[319]: float„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
