Python:mehrere richtige Antworten in einem Python Quiz?
Hallo, ich würde gerne wissen mit welchen Skript man bei den Quiz antworten mehrere richtige Antworten machen kann. z.B. Frage:Ein zylindrisches Gefäß in dem Speisen gekocht werden – oder kurz: Antwort Kochtopf oder der Kochtopf oder..
Danke im Voraus.
3 Antworten
Der Nutzer muss mehrere Eingaben tätigen können (das Ende könnte er mit einem Wort wie ende kennzeichnen) oder seine Antworten mit einem definierten Trennzeichen (z.B. einem Semikolon) trennen.
Die Eingaben werden in einer Liste gespeichert. Bei der obigen Trenner-Operation müsstest du den String halt anhand des Trenners in eine Liste aufsplitten. Es gibt bereits implementierte Funktionen dafür.
Für den Vergleich sollten die gültigen Lösungen ebenso in einer Liste vorliegen.
Dann kannst du durch die Liste der gegebenen Antworten durchlaufen und je Antwort schauen, ob diese wiederum in der Lösungsliste vorkommt.
PS.: Ich habe die Frage falsch verstanden/gelesen. Ich dachte, der Nutzer dürfe mehrere Antworten angeben, die dann auch alle richtig sein müssten.
Die Frage ist bisschen Lasch gestellt. Ich weiß zwar nicht, was genau du möchtest, aber ich versuch mal mein bestes. Hier bekommst du einen Beispiel Code und sagst, ob es das ist, was du brauchst:
#Das ".lower()" in den if-Abfragen bedeutet, dass Groß und Kleinschreibung egal ist.
print("Willkommen zum Quiz")
richtig = 0
falsch = 0
print("Was ist die Bundeshauptstadt?")
print("""
1. Hamburg
2. Berlin
3. Bremen
4. Köln
5. Bonn
""")
richtige_antwort = 1
nutzer_antwort = input("Antwort: ")
if str(richtige_antwort).lower() == str(nutzer_antwort):
print("Richtig")
richtig = richtig + 1
else:
print("Falsch, richtig währe" + str(richtige_antwort))
falsch = falsch + 1
print("Wie viele Bundesländer gibt es?")
print("Bitte gebe eine Zahl ein.")
richtige_antwort = 16
nutzer_antwort = input("Antwort: ")
if str(richtige_antwort).lower() == str(nutzer_antwort):
print("Richtig")
richtig = richtig + 1
else:
print("Falsch, richtig währe: " + str(richtige_antwort))
falsch = falsch + 1
print("Was ist dar größte Staat der Welt?")
print("Bitte gebe den Namen des Staates ein")
richtige_antwort = "Russland"
nutzer_antwort = input("Antwort: ")
if str(richtige_antwort).lower() == str(nutzer_antwort):
print("Richtig")
richtig = richtig + 1
else:
print("Falsch, richtig währe: " + str(richtige_antwort))
falsch = falsch + 1
print("Richtige Antworten: " + str(richtig))
print("Falsche Antworten: " + str(falsch))
print("Punkte: " + str(richtig - falsch))
Ich habe den Code so geschrieben, dass es für dich einfach ist ihn zu verwenden und nachzuvollziehen. Ich habe den Code jetzt nicht ausführlich getestet, weil ich jetzt weg muss.
Ich hoffe, dass ich dir helfen konnte!
Zum Beispiel so:
loesungen = [“antwort 1”, “antwort 2”, “antwort 3”]
if antwort in loesungen:
print(“richtig”)
else:
print(“falsch”)
es gibt zwar jetzt keine Fehlermeldung aber es ist keine antwort mehr richtig
Nein, der Editor von GF ist nicht an den Anführungszeichen schuld. Vermutlich hast du den Text von irgendwoher kopiert, wo diese Zeichen so verwendet wurden.
aber es funktioniert auch nicht so wirklich mit den normalen Anführungszeichen.
aber da steht dann invalid charcter in identifier. weißt jemand wie man das fixed ?