Python: für if zwei Variablen verwenden?
Lerne grade Python und baue ein kleines Quiz zum üben. Mehrer Fragen, hier ist die 1.:
# Frage 1
print("Frage 1: Was ist die Wurzel aus 4?")
print("A: 2 B: 4 C: 1")
antwort1 = input()
if ord(antwort1) == _A:
print("Richtig! +1 Punkt")
punkte += 1
else:
print("Falsch! -1 Punkt")
Habe vorher noch definiert:
_A = ord('A')
_a = ord('a')
Und dann noch punkte:
punkte = 0
für nen einfachen Counter. Wie kann ich sagen, dass ord(antwort1) == _A und _a? Also ohne elif und in eine Reihe?
3 Antworten
Python hat einerseits eine Funktion mit dem Du einen String komplett in Groß-, bzw. Kleinbuchstaben verwandeln kannst (siehe Antwort von PalBeron).
Ansonsten, wenn es nicht gerade speziell um Strings geht, kannst Du auch eine OR Verknüpfung verwenden.
if ord(antwort1) == _A or ord(antwort1) == _a:
OR bedeutet wenn die eine oder das andere Bedingung zutrifft.
Nicht verwechseln mit AND, das wäre beide Bedingungen zutreffen.
Beide Antworten in eine Liste Packen und abfragen ob sich die Antwort in der Liste befindet.
Bessere Lösung. Mache den Input upper oder lowercase.
https://www.programiz.com/python-programming/methods/string/upper