Πώς να φτιάξετε ένα παιχνίδι κουίζ σε Python (με εικόνες)

Πίνακας περιεχομένων:

Πώς να φτιάξετε ένα παιχνίδι κουίζ σε Python (με εικόνες)
Πώς να φτιάξετε ένα παιχνίδι κουίζ σε Python (με εικόνες)

Βίντεο: Πώς να φτιάξετε ένα παιχνίδι κουίζ σε Python (με εικόνες)

Βίντεο: Πώς να φτιάξετε ένα παιχνίδι κουίζ σε Python (με εικόνες)
Βίντεο: Τα 5 καλύτερα προσωπικά ρομπότ που μπορείτε να αγοράσε... 2024, Ενδέχεται
Anonim

Αν θέλετε να μάθετε Python, καλό είναι να ξεκινήσετε με μερικά απλά παιχνίδια βασισμένα σε κείμενο. Αυτό το άρθρο θα σας δείξει πώς να φτιάξετε ένα παιχνίδι κουίζ.

Βήματα

947361 1
947361 1

Βήμα 1. Εγκαταστήστε το Python εάν δεν το έχετε κάνει ήδη

Υπάρχουν δύο μεγάλες εκδόσεις του Python: Python 2 και Python 3. Δεν είναι εναλλάξιμες και η υποστήριξη για Python 2 θα λήξει το 2020, οπότε αυτό το άρθρο θα υποθέσει ότι εγκαθιστάτε το Python 3.

947361 2
947361 2

Βήμα 2. Ανοίξτε ένα νέο αρχείο σε έναν επεξεργαστή κειμένου ή στο Python IDE

Δώστε του ένα περιγραφικό όνομα που τελειώνει με.py.

947361 3
947361 3

Βήμα 3. Εισαγάγετε την τυχαία βιβλιοθήκη

Θα το χρειαστείτε για να κανονίσετε τυχαία τις πιθανές απαντήσεις.

947361 4
947361 4

Βήμα 4. Ορίστε μια κλάση "QA"

Ένα "QA" θα αποτελείται από μια ερώτηση και μια σωστή απάντηση και μια λίστα με άλλες πιθανές απαντήσεις. Η συνάρτηση _init _ () θα καλείται κάθε φορά που δημιουργείτε ένα νέο αντικείμενο QA με τη συνάρτηση QA (), με τα ορίσματά του να μεταφέρονται στο αντίστοιχο χαρακτηριστικό. Τύπος:

class QA: def _init _ (self, question, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers

947361 5
947361 5

Βήμα 5. Δημιουργήστε μια λίστα QA

Σκεφτείτε μερικές ερωτήσεις με μία σωστή και μερικές λάθος απαντήσεις. Δημιουργήστε αντικείμενα QA από το καθένα και τοποθετήστε τα σε μια λίστα. Δεδομένου ότι η λίστα θα είναι αρκετά μεγάλη, μπορείτε να την σπάσετε σε πολλές γραμμές για καλύτερη αναγνωσιμότητα. Όλα αυτά γίνονται με τον ακόλουθο κώδικα (το κείμενό σας μπορεί να είναι διαφορετικό):

qaList = [QA ("Πού είναι το Μινσκ;", "στη Λευκορωσία", ["στη Ρωσία", "μια τέτοια πόλη δεν υπάρχει"]), QA ("Ποια είναι η πρωτεύουσα της Αυστραλίας;", "Καμπέρα",

947361 6
947361 6

Βήμα 6. Προσθέστε μια μεταβλητή που μετρά πόσες σωστές απαντήσεις ήταν

Ρυθμίστε το στο μηδέν στην αρχή. Προσθέστε τη γραμμή:

corrCount = 0

947361 7
947361 7

Βήμα 7. Ανακατέψτε τη λίστα QA

Αυτό θα κάνει τις ερωτήσεις σας να εμφανίζονται με τυχαία σειρά. Αυτό γίνεται με την ακόλουθη λειτουργία:

random.shuffle (qaList)

947361 8
947361 8

Βήμα 8. Κάντε ένα βρόχο

Το πρόγραμμα πρέπει να ξεπεράσει κάθε στοιχείο της λίστας και να κάνει κάτι με αυτό. Δημιουργήστε έναν τέτοιο βρόχο με αυτήν την έκφραση:

για qaItem στο qaList:

947361 9
947361 9

Βήμα 9. Εξάγετε κάθε ερώτηση

Μετά την έκφραση βρόχου, γράψτε τη γραμμή:

εκτύπωση (qaItem.question)

947361 10
947361 10

Βήμα 10. Εξάγετε όλες τις πιθανές απαντήσεις

Θα πρέπει να εμφανίζονται με τυχαία σειρά, έτσι ώστε η σωστή απάντηση να μην είναι πάντα στην ίδια θέση. Επίσης, θα πρέπει να προλογίζονται από έναν αριθμό, έτσι ώστε ο χρήστης να μην χρειάζεται να εισαγάγει ξανά ολόκληρη την απάντηση. Ο ακόλουθος κώδικας το κάνει αυτό:

εκτύπωση ("Οι πιθανές απαντήσεις είναι:") πιθανή = qaItem.otherAnsw + [qaItem.corrAnsw] # αγκύλες μετατρέπουν τη σωστή απάντηση σε λίστα για συνένωση με άλλες τυχαίες λίστες. ανακατέψτε (πιθανό) καταμέτρηση = 0 # ευρετήρια λίστας ξεκινούν από 0 στο python ενώ μετράτε <len (πιθανό): print (str (count + 1) + ":" + possible [count]) count + = 1

947361 11
947361 11

Βήμα 11. Πάρτε την εισαγωγή του χρήστη

Πρώτα, πείτε στο χρήστη ότι πρέπει να εισαγάγει τον αριθμό του. Στη συνέχεια, ελέγξτε αν αυτό που εισήγαγε ο χρήστης είναι πραγματικά ένας αριθμός που αντιστοιχεί σε μια απάντηση. Εάν δεν είναι, ενημερώστε ξανά το χρήστη. Χρησιμοποιήστε αυτόν τον κωδικό (εκτός του βρόχου while που δημιουργήσατε για την έξοδο):

εκτύπωση ("Παρακαλώ εισάγετε τον αριθμό της απάντησής σας:") userAnsw = είσοδος () ενώ δεν userAnsw.isdigit (): print ("Δεν ήταν αριθμός. Εισαγάγετε τον αριθμό της απάντησής σας:") userAnsw = εισαγωγή () userAnsw = int (userAnsw) ενώ όχι (userAnsw> 0 και userAnsw <= len (πιθανό)): print ("Αυτός ο αριθμός δεν αντιστοιχεί σε καμία απάντηση. Εισαγάγετε τον αριθμό της απάντησής σας:") userAnsw = εισαγωγή ()

947361 12
947361 12

Βήμα 12. Ελέγξτε αν η απάντηση του χρήστη ήταν σωστή

Για να το κάνετε αυτό, λάβετε το κείμενο της απάντησης για την οποία ο χρήστης εισήγαγε έναν αριθμό και συγκρίνετε το με το κείμενο της σωστής απάντησης. Εάν είναι τα ίδια, η απάντηση του χρήστη ήταν σωστή και η μεταβλητή corrCount θα πρέπει να αυξηθεί κατά 1. Αλλιώς, είναι λάθος και θα πρέπει να ειπωθεί στον χρήστη η σωστή απάντηση. Τέλος, εκτυπώστε μια κενή γραμμή για να προσθέσετε λίγο χώρο στην επόμενη ερώτηση. Εισαγάγετε τον ακόλουθο κωδικό:

αν είναι δυνατόν [userAnsw-1] == qaItem.corrAnsw: print ("Η απάντησή σας ήταν σωστή.") corrCount + = 1 else: print ("Η απάντησή σας ήταν λάθος.") print ("Η σωστή απάντηση ήταν:" + qaItem. corrAnsw) εκτύπωση ("")

947361 13
947361 13

Βήμα 13. Βγάλτε ένα συμπέρασμα

Στο τέλος, ο χρήστης πιθανώς θέλει να μάθει πόσες ερωτήσεις έλαβε σωστά. Πείτε τους λοιπόν προσθέτοντας την ακόλουθη έκφραση εκτός του βρόχου for:

εκτύπωση ("Απαντήσατε" + str (corrCount) + "of" + str (len (qaList)) + "σωστά ερωτήσεις.")

947361 14
947361 14

Βήμα 14. Ελέγξτε τον κωδικό σας

Δώστε ιδιαίτερη προσοχή στην εσοχή. Ο πλήρης κωδικός σας θα πρέπει να μοιάζει τώρα:

εισαγωγή τυχαίας κλάσης QA: def _init _ (self, question, correctAnswer, otherAnswers): self.question = question self.corrAnsw = correctAnswer self.otherAnsw = otherAnswers qaList = [QA ("Πού είναι το Μινσκ;", "στη Λευκορωσία", ["στη Ρωσία", "μια τέτοια πόλη δεν υπάρχει"]), QA ("Ποια είναι η πρωτεύουσα της Αυστραλίας;", "Καμπέρα", ["Σίδνεϊ", "Νέα Υόρκη", "Η Αυστραλία δεν υπάρχει"]), QA ("Ποιο από τα παρακάτω δεν υπάρχει στη Γη;", "Sea of Hranquility", ["Mediterranean Sea", "Baltic Sea", "North Sea"]), QA ("Ποιο από τα παρακάτω δεν είναι μια ήπειρος; »,« Αρκτική », [« Ανταρκτική »,« Αμερική »]), QA (« Ποιο από τα παρακάτω δεν είναι αφρικανική χώρα; »,« Μαλαισία », [« Μαδαγασκάρη »,« Τζιμπουτί »,« Νότια Africa "," Zimbabwe "])] corrCount = 0 random.shuffle (qaList) για qaItem στο qaList: print (qaItem.question) print (" Οι πιθανές απαντήσεις είναι: ") πιθανή = qaItem.otherAnsw + [qaItem.corrAnsw] # οι τετράγωνες αγκύλες μετατρέπουν τη σωστή απάντηση σε λίστα για συνένωση με άλλες τυχαίες λίστες. ανακατέψτε (πιθανό) καταμέτρηση = 0 # ευρετήρια λίστας ξεκινούν από 0 i n python while count <len (possible): print (str (count + 1) + ":" + possible [count]) count + = 1 print ("Παρακαλώ εισάγετε τον αριθμό της απάντησής σας:") userAnsw = input () ενώ δεν userAnsw.isdigit (): print ("Αυτός δεν ήταν αριθμός Παρακαλώ εισάγετε τον αριθμό της απάντησής σας: ") userAnsw = input () userAnsw = int (userAnsw) ενώ όχι (userAnsw> 0 και userAnsw <= len (πιθανό)): print (" Αυτός ο αριθμός δεν αντιστοιχεί σε καμία απάντηση Παρακαλώ εισάγετε τον αριθμό της απάντησής σας: ") userAnsw = είσοδος () αν είναι δυνατόν [userAnsw-1] == qaItem.corrAnsw: print (" Η απάντησή σας ήταν σωστή. ") CorrCount += 1 άλλο: εκτύπωση (" Η απάντησή σας ήταν λάθος. ") print (" Η σωστή απάντηση ήταν: " + qaItem.corrAnsw) εκτύπωση (" ") print (" Απαντήσατε " + str (corrCount) +" των " + str (len (qaList)) +" σωστά ερωτήσεις. ")

947361 15
947361 15

Βήμα 15. Εκτελέστε τον κώδικα

Εάν χρησιμοποιείτε IDE, κάντε κλικ στο σύμβολο "Εκτέλεση" ή στο στοιχείο μενού. Εάν χρησιμοποιείτε πρόγραμμα επεξεργασίας κειμένου, αποθηκεύστε το πρόγραμμά σας, κλείστε το πρόγραμμα επεξεργασίας και ανοίξτε το πρόγραμμά σας με την Python.

Συμβουλές

  • Προσέξτε τη σωστή εσοχή. Ο κώδικας μέσα σε μια συνάρτηση ή ορισμό κλάσης είναι εσοχή, όπως και ο κώδικας μέσα σε έναν βρόχο. Ένα πρόγραμμα Python με λάθος εσοχή δεν θα λειτουργήσει.
  • Πατήστε Ctrl+C εάν θέλετε να διακόψετε το παιχνίδι και να μην το τελειώσετε.
  • Αν αντικαταστήσετε κάθε κλήση εισόδου () με μια κλήση raw_input (), αυτό το πρόγραμμα θα λειτουργήσει στην Python 2, αλλά θα σταματήσει να λειτουργεί στην Python 3.

Συνιστάται: