Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie erstelle ich ein Zahlenrätselspiel in Python?

Python-Hosting
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Den Inhalt dieses Artikels sollten Sie bereits erraten haben. Und Sie sollten wahrscheinlich mit dem Schätzen von Zahlen vertraut sein und nach einer Möglichkeit suchen, es mit Python zu erstellen.

Lassen Sie uns lernen, ein Zahlenrätselspiel von Grund auf neu zu erstellen.

Number Guessing Game

Das Spiel ist einfach. Der Benutzer muss die zufällig generierte Zahl erraten, die zwischen dem Bereich von liegt 1 zu 100. Das ist es.

Ist das Spiel so einfach?

Ja, ist es.

Aber es gibt eine Sache, die wir den Benutzern bieten müssen, um die Zahl zu erraten. Das sind Hinweise. Wir müssen dem Benutzer eine Nachricht übermitteln, die besagt, dass die aktuell geschätzte Zahl kleiner als die richtige Zahl ist oder die aktuelle geschätzte Zahl größer als die richtige Zahl ist. Damit die Nutzer wissen, in welche Richtung sie gehen müssen.

Wir können es spannender machen, indem wir zusätzliche Funktionen hinzufügen, wie die maximale Anzahl von Raten, die Reichweite erhöhen, einen Timer einstellen usw..

Das Erstellen des grundlegenden Arbeitsspiels ist obligatorisch. Danach können wir wie besprochen weitere Funktionen hinzufügen. Daher werden wir in diesem Abschnitt die Basisversion des Spiels erstellen. Und dann werden wir neue Funktionen hinzufügen.

Ich möchte, dass Sie versuchen, das Spiel zu erstellen, ohne den Code blind zu kopieren. Also werde ich zuerst den Algorithmus erklären. Es wird Ihnen helfen, selbst zu codieren oder den Code schnell zu verstehen.

Sehen wir uns den Algorithmus zum Erstellen des Zahlenrätselspiels an.

Algorithmus

Stellen Sie sicher, dass Sie den Algorithmus verstanden haben, bevor Sie zum Codierungsteil übergehen.

  • Definieren Sie den Bereich der Zahlen. Standardmäßig ist es 1-100, aber Sie können es nach Belieben ändern.
  • Generiere eine zufällige ganze Zahl aus dem obigen Bereich (1-100).
  • Starten Sie das Spiel, indem Sie dem Benutzer eine Nachricht mit der Aufschrift . anzeigen „Errate die Zahl von X bis Y“. Sie können die Nachricht nach Belieben aktualisieren.
  • Initialisieren Sie eine Variable auf 0 um die Gesamtzahl der Chancen zu zählen, die der Benutzer genutzt hat, um die Zahl richtig zu erraten.
  • Schreiben Sie eine Endlosschleife.
    • Bitten Sie den Benutzer, die Zahl zu erraten.
    • Wenn die aktuell erratene Zahl der zufällig generierten Zahl entspricht, gratulieren Sie dem Benutzer mit einer Nachricht nach Belieben. Ein Beispiel wäre „-> Hurra! Sie haben es in 5 Schritten geschafft!”.
    • Unterbrechen Sie die Schleife, nachdem Sie dem Benutzer gratuliert haben.
    • Wenn die aktuell erratene Zahl kleiner als die zufällig generierte Zahl ist, geben Sie dem Benutzer eine Nachricht mit der Aufschrift „-> Deine Zahl ist kleiner als die Zufallszahl“ oder eine benutzerdefinierte Nachricht mit derselben Bedeutung.
    • Wenn die aktuell erratene Zahl größer als die zufällig generierte Zahl ist, geben Sie dem Benutzer eine Nachricht mit der Aufschrift „-> Deine Zahl ist größer als die Zufallszahl“ oder ein Brauch mit der gleichen Bedeutung.
    • Erhöhen Sie schließlich die Wahrscheinlichkeit, die der Benutzer zum Erraten genutzt hat.

Sie hätten Code im Kopf, nachdem Sie den Algorithmus gesehen haben. Machen Sie sich keine Sorgen, auch wenn Sie nicht den vollständigen Code erhalten. Stellen Sie jedoch sicher, dass Sie den obigen Algorithmus verstehen.

Es ist Zeit, unsere Hände mit Code zu arbeiten. Steigen Sie ohne weiteres in den Code ein.

Code

Hast du versucht den Code zu schreiben?

Wenn ja und abgeschlossen. Es ist großartig. Sehen Sie sich den Code an und verstehen Sie ihn, um Ihr Wissen um weitere Perspektiven zu erweitern.

Machen Sie sich keine Sorgen, auch wenn Sie den Code nicht geschrieben haben. Sehen Sie sich den folgenden Code an und verstehen Sie ihn. Versuchen Sie, es zum besseren Verständnis auf Ihre eigene Weise zu optimieren und zu schreiben.

Sehen wir uns also den Code an.

import random


class NumberGuessingGame:

    def __init__(self):
        ## define the range
        self.LOWER = 1
        self.HIGHER = 100

    ## method to generate the random number
    def get_random_number(self):
        return random.randint(self.LOWER, self.HIGHER)

    ## game start method
    def start(self):
        ## generating the random number
        random_number = self.get_random_number()

        print(
            f"Guess the randomly generated number from {self.LOWER} to {self.HIGHER}")

        ## heart of the game
        chances = 0
        while True:
            user_number = int(input("Enter the guessed number: "))
            if user_number == random_number:
                print(
                    f"-> Hurray! You got it in {chances + 1} step{'s' if chances > 1 else ''}!")
                break
            elif user_number < random_number:
                print("-> Your number is less than the random number")
            else:
                print("-> Your number is greater than the random number")
            chances += 1

## instantiating and starting the game
numberGuessingGame = NumberGuessingGame()
numberGuessingGame.start()

Es gibt einige Dinge, die Sie aus dem Code verstehen.

  • Der Bereich ist innerhalb der . definiert __init__ -Methode, damit sie über die Klassenmethoden hinweg verwendet werden kann.
  • Wir können es leicht an einer Stelle ändern, die sich in der App entsprechend ändert.
  • Es gibt eine separate Methode, um die Zufallszahl zu generieren, die dem Prinzip von . folgt „Trennung der Bedenken“. Hier hat unsere Methode wenig Code, aber er könnte in Zukunft zunehmen.
  • Schließlich haben wir class verwendet, damit jede Methode, die mit dem Spiel zu tun hat, darin enthalten ist. Und es kann leicht in einigen anderen Apps wiederverwendet werden.

Alle oben besprochenen Punkte beziehen sich auf das Schreiben von sauberem Code. Wir sollten versuchen, den sauberen Code zu schreiben, den Sie auch nach einiger Zeit verstehen Jahre.

Die Beispielausgabe des Spiels sieht wie folgt aus.

$ python number_guessing_game.py 
Guess the randomly generated number from 1 to 100
Enter the guessed number: 50
-> Your number is less than the random number
Enter the guessed number: 75
-> Your number is less than the random number
Enter the guessed number: 90
-> Your number is greater than the random number
Enter the guessed number: 85
-> Your number is greater than the random number
Enter the guessed number: 80
-> Hurray! You got it in 5 steps!

Ich nehme an, Sie haben Python installiert um den obigen Code auszuprobieren.

Extra Feature

Wir werden die maximale Anzahl von Chancen hinzufügen, die ein Benutzer erhält, die Zahl zu erraten. Wenn der Benutzer die Zahl innerhalb der Anzahl der Chancen nicht errät, verliert der Benutzer.

Wie fügen wir es hinzu?

Es ist ein einfacher zweistufiger Prozess. Sehen wir uns die Schritte an.

  • Definieren Sie die maximale Wahrscheinlichkeit, mit der der Benutzer die Zahl erraten kann.
  • Prüfen Sie, ob der Benutzer Chancen hat oder nicht, bevor Sie um die Eingabe bitten. Und beenden Sie das Spiel, wenn der Benutzer keine Chancen mehr hat.

Der folgende zusätzliche Code vervollständigt die Funktion.

  • Fügen Sie den folgenden Code in die ein __init__ Methode.
self.MAX_CHANCES = 10
  • Fügen Sie die folgende Bedingung hinzu, bevor der Benutzer die nächste Schätzung eingibt.
if chances == self.MAX_CHANCES:
                print("-> Phew! You lost the game. You are out of chances")

Versuchen Sie nun das Spiel, ohne die richtige Zahl zu erraten. Sie sollten eine ähnliche Ausgabe wie folgt sehen.

$ python number_guessing_game.py 
Guess the randomly generated number from 1 to 100. You have 10 chances to guess.
Enter the guessed number: 1
-> Your number is less than the random number
Enter the guessed number: 2
-> Your number is less than the random number
Enter the guessed number: 3
-> Your number is less than the random number
Enter the guessed number: 4
-> Your number is less than the random number
Enter the guessed number: 5
-> Your number is less than the random number
Enter the guessed number: 6
-> Your number is less than the random number
Enter the guessed number: 7
-> Your number is less than the random number
Enter the guessed number: 8
-> Your number is less than the random number
Enter the guessed number: 9
-> Your number is less than the random number
Enter the guessed number: 10
-> Your number is less than the random number
-> Phew! You lost the game. You are out of chances

Hurra! Wir haben unserem Spiel eine zusätzliche Funktion hinzugefügt. Es ist jedoch nicht das Ende. Sie können einige weitere Funktionen hinzufügen, um es für die Benutzer ansprechender zu gestalten. Es ist jetzt deine Zeit. Mach weiter und mach es schöner :).

Fazit

Wir haben ein einfaches Zahlenrätselspiel entwickelt. Jetzt sind Sie an der Reihe, an Spiele zu denken, die Sie gespielt haben, als Sie jung waren. Machen Sie sie mit Programmiersprache und mit deinen Freunden teilen. Wir können die meisten unserer Kinderspiele digitalisieren.

Als nächstes erkunden Python-IDE und Online-Compiler um Python-Code auszuführen.

Viel Spaß beim Codieren 🙂

Wenn Sie von viralen Wortspielen nicht genug bekommen können, hier ist es wie man es bei Wordle besser macht.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder