Wie erstelle ich ein Quiz-Spiel in Python (mit Bildern)

Inhaltsverzeichnis:

Wie erstelle ich ein Quiz-Spiel in Python (mit Bildern)
Wie erstelle ich ein Quiz-Spiel in Python (mit Bildern)

Video: Wie erstelle ich ein Quiz-Spiel in Python (mit Bildern)

Video: Wie erstelle ich ein Quiz-Spiel in Python (mit Bildern)
Video: Python - Ein einfacher Countdown 2024, Kann
Anonim

Wenn Sie Python lernen möchten, ist es gut, mit einigen einfachen textbasierten Spielen zu beginnen. In diesem Artikel erfahren Sie, wie Sie ein Quizspiel erstellen.

Schritte

947361 1
947361 1

Schritt 1. Installieren Sie Python, falls Sie dies noch nicht getan haben

Es gibt zwei Hauptversionen von Python: Python 2 und Python 3. Sie sind nicht austauschbar und die Unterstützung für Python 2 endet im Jahr 2020, daher wird in diesem Artikel davon ausgegangen, dass Sie Python 3 installieren.

947361 2
947361 2

Schritt 2. Öffnen Sie eine neue Datei in einem Texteditor oder Ihrer Python-IDE

Geben Sie ihm einen beschreibenden Namen, der mit.py endet.

947361 3
947361 3

Schritt 3. Importieren Sie die zufällige Bibliothek

Sie benötigen es, um die möglichen Antworten zufällig anzuordnen.

947361 4
947361 4

Schritt 4. Definieren Sie eine Klasse "QA"

Eine "QA" besteht aus einer Frage und einer richtigen Antwort sowie einer Liste möglicher anderer Antworten. Die Funktion _init_() wird immer dann aufgerufen, wenn Sie mit der Funktion QA() ein neues QS-Objekt erstellen, wobei deren Argumente an das entsprechende Attribut übergeben werden. Typ:

class QA: def _init_(self, question, correctAnswer, otherAnswers): self.question = Question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers

947361 5
947361 5

Schritt 5. Erstellen Sie eine Liste von QAs

Denken Sie an einige Fragen mit einer richtigen und einigen falschen Antworten. Erstellen Sie aus jedem QS-Objekte und fügen Sie sie in eine Liste ein. Da die Liste ziemlich lang ist, können Sie sie zur besseren Lesbarkeit auf mehrere Zeilen aufteilen. All dies geschieht mit folgendem Code (Ihr Text könnte anders sein):

qaList = [QA("Wo liegt Minsk?", "in Weißrussland", ["in Russland", "so eine Stadt existiert nicht"]), QA("Was ist die Hauptstadt von Australien?", "Canberra", ["Sydney", "New York", "Australien existiert nicht"]), QA("Welche der folgenden gibt es nicht auf der Erde?", "Sea of Tranquility", ["Mittelmeer", "Ostsee ", "Nordsee"]), QA("Welcher der folgenden ist kein Kontinent?", "Arctica", ["Antarktis", "Amerika"]), QA("Welcher der folgenden ist kein afrikanisches Land ?", "Malaysia", ["Madagaskar", "Dschibuti", "Südafrika", "Simbabwe"])]

947361 6
947361 6

Schritt 6. Fügen Sie eine Variable hinzu, die zählt, wie viele Antworten richtig waren

Stellen Sie es am Anfang auf Null. Fügen Sie die Zeile hinzu:

corrCount = 0

947361 7
947361 7

Schritt 7. Mischen Sie die QA-Liste

Dadurch erscheinen Ihre Fragen in einer zufälligen Reihenfolge. Dies geschieht mit folgender Funktion:

random.shuffle (qaList)

947361 8
947361 8

Schritt 8. Machen Sie eine Schleife

Das Programm sollte jeden Punkt der Liste durchgehen und etwas damit machen. Erstellen Sie eine solche Schleife mit diesem Ausdruck:

für qaItem in qaList:

947361 9
947361 9

Schritt 9. Geben Sie jede Frage aus

Schreiben Sie nach dem Schleifenausdruck die Zeile:

print(qaItem.frage)

947361 10
947361 10

Schritt 10. Geben Sie alle möglichen Antworten aus

Sie sollten in zufälliger Reihenfolge erscheinen, damit sich die richtige Antwort nicht immer an derselben Position befindet. Außerdem sollte ihnen eine Zahl vorangestellt werden, damit der Benutzer nicht die gesamte Antwort erneut eingeben muss. Folgender Code macht dies:

print("Mögliche Antworten sind:") möglich = qaItem.otherAnsw + [qaItem.corrAnsw] # eckige Klammern verwandeln die richtige Antwort in eine Liste zur Verkettung mit anderen Listen random.shuffle(möglich) count = 0 # Listenindizes beginnen bei 0 in Python while count < len(möglich): print(str(count+1) + ": " + möglich[count]) count += 1

947361 11
947361 11

Schritt 11. Nehmen Sie die Eingaben des Benutzers entgegen

Sagen Sie dem Benutzer zuerst, dass er seine Nummer eingeben muss. Prüfen Sie dann, ob es sich bei der Eingabe des Benutzers wirklich um eine Zahl handelt, die einer Antwort entspricht. Wenn dies nicht der Fall ist, informieren Sie den Benutzer erneut. Verwenden Sie diesen Code (außerhalb der while-Schleife, die Sie für die Ausgabe erstellt haben):

print("Bitte geben Sie die Nummer Ihrer Antwort ein:") userAnsw = input() while not userAnsw.isdigit(): print("Das war keine Zahl. Bitte geben Sie die Nummer Ihrer Antwort ein:") userAnsw = input() userAnsw = int(userAnsw) while not (userAnsw > 0 and userAnsw <= len(möglich)): print("Diese Zahl entspricht keiner Antwort. Bitte geben Sie die Nummer Ihrer Antwort ein:") userAnsw = input()

947361 12
947361 12

Schritt 12. Überprüfen Sie, ob die Antwort des Benutzers richtig war

Rufen Sie dazu den Text der Antwort ab, für die der Benutzer eine Zahl eingegeben hat, und vergleichen Sie ihn mit dem Text der richtigen Antwort. Wenn sie gleich sind, war die Antwort des Benutzers richtig und die Variable corrCount sollte um 1 erhöht werden. Andernfalls ist sie falsch und dem Benutzer sollte die richtige Antwort mitgeteilt werden. Drucken Sie schließlich eine leere Zeile, um der nächsten Frage etwas Platz zu geben. Geben Sie den folgenden Code ein:

wenn möglich[userAnsw-1] == qaItem.corrAnsw: print("Ihre Antwort war richtig.") corrCount += 1 else: print("Ihre Antwort war falsch.") print("Richtige Antwort war: " + qaItem. corrAnsw) print("")

947361 13
947361 13

Schritt 13. Geben Sie eine Schlussfolgerung aus

Am Ende möchte der Benutzer wahrscheinlich wissen, wie viele Fragen er richtig beantwortet hat. Sagen Sie es ihnen, indem Sie den folgenden Ausdruck außerhalb der for-Schleife hinzufügen:

print("Sie haben " + str(corrCount) + " von " + str(len(qaList)) + " Fragen richtig beantwortet.")

947361 14
947361 14

Schritt 14. Überprüfen Sie Ihren Code

Achten Sie besonders auf die Einbuchtung. Ihr vollständiger Code sollte jetzt so aussehen:

import random class QA: def _init_(self, question, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA("Wo ist Minsk?", "in Weißrussland", ["in Russland", "so eine Stadt existiert nicht"]), QA("Was ist die Hauptstadt von Australien?", "Canberra", ["Sydney", "New York", "Australien existiert nicht"]), QA("Welches der folgenden ist nicht auf der Erde?", "Sea of Tranquility", ["Mittelmeer", "Ostsee", "Nordsee"]), QA("Welches der folgenden ist nicht ein Kontinent?", "Arctica", ["Antarktis", "America"]), QA("Welches der folgenden Länder ist kein afrikanisches Land?", "Malaysia", ["Madagascar", "Djibouti", "South Africa", "Simbabwe"])] corrCount = 0 random.shuffle(qaList) for qaItem in qaList: print(qaItem.question) print("Mögliche Antworten sind:") possible = qaItem.otherAnsw + [qaItem.corrAnsw] # eckige Klammern verwandeln die richtige Antwort in eine Liste zur Verkettung mit anderen Listen random.shuffle(möglich) count = 0 # Listenindizes beginnen bei 0 i n python while count < len(möglich): print(str(count+1) + ": " + possible[count]) count += 1 print("Bitte geben Sie die Nummer Ihrer Antwort ein:") userAnsw = input() while not userAnsw.isdigit(): print("Das war keine Zahl. Bitte geben Sie die Nummer Ihrer Antwort ein:") userAnsw = input() userAnsw = int(userAnsw) while not (userAnsw > 0 and userAnsw <= len(möglich)): print("Diese Zahl entspricht keiner Antwort. Bitte geben Sie die Nummer Ihrer Antwort ein:") userAnsw = input() falls möglich[userAnsw-1] == qaItem.corrAnsw: print("Ihre Antwort war richtig.") corrCount += 1 else: print("Ihre Antwort war falsch.") print("Die richtige Antwort war: " + qaItem.corrAnsw) print("") print("Sie haben " + str(corrCount) + " of " + str(len(qaList)) + " Fragen richtig beantwortet. ")

947361 15
947361 15

Schritt 15. Führen Sie den Code aus

Wenn Sie eine IDE verwenden, klicken Sie auf das Symbol "Ausführen" oder den Menüpunkt. Wenn Sie einen Texteditor verwenden, speichern Sie Ihr Programm, schließen Sie den Editor und öffnen Sie Ihr Programm mit Python.

Tipps

  • Achten Sie auf die richtige Einrückung. Code in einer Funktions- oder Klassendefinition wird eingerückt, ebenso wie Code in einer Schleife. Ein Python-Programm mit falscher Einrückung funktioniert nicht.
  • Drücken Sie Strg+C, wenn Sie das Spiel unterbrechen und nicht beenden möchten.
  • Wenn Sie jeden Aufruf von input() durch einen Aufruf von raw_input() ersetzen, funktioniert dieses Programm in Python 2, hört jedoch auf, in Python 3 zu arbeiten.

Empfohlen: