elif-Abfrage reagiert nicht richtig

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
andr0meda55
User
Beiträge: 17
Registriert: Montag 10. April 2017, 20:48

Hallo,

ich habe bei meinen Code ein kleines Problem. Ich habe ein Namensabfrage Programm erstellt, das den Name abfragt via raw_input.
Funktioniert auch.
Danach sollte man entweder Y/y oder N/n eingeben um zu sagen ob es richtig war.
Falls es "Y"or"y" ist, soll er Cool! printen.
Falls es "N"or"n" ist, soll er Warum hast du es dann eingegeben? printen.

Das Problem hierbei ist: Wenn ich N oder n eingebe, kommt Cool! statt "Warum hast du es dann eingegeben?". Bei Y / y funktioniert alles.

Hier der Code:

Code: Alles auswählen

print("Was ist dein Name?")
name = raw_input("Name hier eingeben: ")
print("So, dein Name ist " + name +", richtig?")
answer = raw_input("Y/N: ")
if answer == "Y"or"y":
    print("Cool!)
elif answer == "N"or"n":
    print("Warum hast du es dann eingegeben?")
Ich danke für jede Hilfe.
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ein Ausdruck wie "x == a or b" funktioniert nicht. Den musst du umschreiben zu "x==a or x==b". Alternativ kannst du auch schreiben "x in (a, b)"
BlackJack

In diesem Fall könnte man auch die Eingabe in Kleinbuchstaben umwandeln und dann nur mit 'y' oder 'n' vergleichen.
Antworten