Prüfung auf Gleichheit

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
yendar
User
Beiträge: 1
Registriert: Mittwoch 8. September 2021, 12:18

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
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
bei mir funktioniert dein Code einwandfrei ;)
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.
Benutzeravatar
sparrow
User
Beiträge: 4184
Registriert: Freitag 17. April 2009, 10:28

@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".
Benutzeravatar
__blackjack__
User
Beiträge: 13068
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ich kann's mir nicht verkneifen:

Code: Alles auswählen

In [317]: car == car                                                            
Out[317]: False
`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 [318]: car                                                                   
Out[318]: nan

In [319]: type(car)                                                             
Out[319]: float
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten