2017-10-12 1 views
-1

Ich bin gerade dabei, ein Quiz in Python zu erstellen, alle Fragen werden in einer CSV-Datenbank gespeichert. Ich habe Schwierigkeiten, mehrere Antworten auf eine Frage im Quiz zu haben. Anmerkung: Ich habe nicht den Code auf diesem Computer so machte ich etwas schnell unten entlang der Linien:Quiz mit mehreren Antworten

file=open("easydatabase.csv","r") 
answer = input("\n" + detail[0]) 
    for line in file: 
     details=line.split(",") 
     if details[1] == answer: 
      print("Correct! Added 1 to your score.") 

Das Hauptproblem ich habe die richtige Antwort mit, dass er gleich mehrere Zellen in der CSV-Datei Vielen Dank im Voraus für die Hilfe! (Ich habe verschiedene Dinge versucht, wie zum Beispiel "Details [1,2] zu schreiben", aber ich hatte kein Glück)

+1

Bitte lesen Sie über die Erstellung eines [mcve] und bieten ein Beispiel für das Dateiformat für 'easydatabase.csv'. – trentcl

Antwort

0

Wenn Sie wissen, in welchen spezifischen Zellen die Antworten sind, können Sie ein "oder" oder "und" verwenden in Ihrer if-Anweisung, je nachdem, welche Art von Antworten Sie nehmen werden.

Wenn Sie nach beliebigen passenden Antworten in der "Details" -Liste suchen, können Sie die "details" -Liste mit einer bedingten if -Anweisung durchsuchen, die das enthält, wonach Sie suchen.

+0

Ich versuchte eine oder Anweisung (das ist, was ich schrieb): wenn Antwort == (Details [1]) oder (Details [2]), aber es würde mir erlauben, jede Antwort einzugeben, und es hat mir gesagt war korrekt – Zyn

+0

Ich habe den Kommentar oben bearbeitet, versuchen Sie es mit einer "und" Aussage. –

+0

Die Verwendung einer und Anweisung würde bedeuten, dass beide Antworten eingegeben werden müssen, tut mir leid, wenn ich es schlecht formuliert habe, aber es gibt eine Frage und es gibt mehrere Antworten auf die Frage – Zyn

0

Wenn Sie also nach einer Übereinstimmung in mehreren Elementen suchen möchten, können Sie in verwenden. So etwas wie dieses:

+0

ich brauche eine datenbank (ich benutze ein csv) wo die fragen und die antworten gespeichert sind, Ich würde gerne ein Array machen, aber das ist leider die Aufgabe. – Zyn

+0

Das sollte immer noch funktionieren für wie Sie es verwenden möchten, wenn Sie wollten, könnten Sie tun, wenn Antwort in Details [1:] 'zu jedem Element mit Ausnahme der ersten überprüfen – stefstef

+0

Wenn ich nicht die Struktur Ihrer Datei missverstanden habe . Wenn Sie eine Aufteilung vornehmen, ist _details_ eine Liste aller Elemente in dieser Zeile. Angenommen, Sie haben die Spalte 1 als Antwort des Benutzers und die anderen Spalten haben die richtigen Antworten. Sie können die Überprüfung dennoch verwenden, wenn die einzelne Antwort mehrere Antworten enthält. Wenn nicht, dann geben Sie bitte mehr Details zu Ihrem CSV. – stefstef

Verwandte Themen