Hallo
ich bin dabei, einen kleinen Umrechner zu schreiben, der mit Bits und Bytes arbeiten soll
am Anfang des Programms soll der Nutzer die Einheit auswählen, von der ausgegangen wird.
Das sieht bei mir so aus:
a=raw_input("Einheit")
if a=="bit" or "Bit":
print"Sie haben Bit ausgewählt"
if a=="Kbit" or "kbit":
print"Sie haben Kbit ausgewählt"
Nun zu meinem Problem:
Egal ob ich bit, it, kbit eingebe, er scheinen immer beide Printbefehle.
Warum differenziert Python nicht zwischen dem vollständigen Wort und einzelnen Wortbestandteilen bzw wie mach ich das?
MfG
Problem mit String
Code: Alles auswählen
if a == "bit" or a == "Bit"
Code: Alles auswählen
if a.lower() == "bit"
Code: Alles auswählen
if a=="bit" or "Bit":
print"Sie haben Bit ausgewählt"
Code: Alles auswählen
if (a=="bit") or ("Bit"):
print"Sie haben Bit ausgewählt"
wie ich gerade sehe, war Stefan schneller.
ergibt immer True, da "Bit" ein nicht leerer String ist.
Klaus
Code: Alles auswählen
or "Bit"
Klaus
Du kannst so eine Abfrage mit
abkürzen, dann endet das nicht in or-Orgien, aber besser nimmst du sowas wie:
Dann musst du nicht alle möglichen Schreibweisen abklappern.
Code: Alles auswählen
if a in ("bit", "Bit"):
Code: Alles auswählen
if a.lower() == "kbit"