vandaag gaan we een interactief raadspel maken in Python.
dit is een eenvoudig gokspel waarbij de computer een willekeurig getal tussen 1 en 10 genereert, en de gebruiker het in 5 pogingen moet raden.
op basis van de guess-computer van de gebruiker zullen verschillende hints worden gegeven als het getal hoog of laag is. Wanneer de gebruiker gissing overeenkomt met het aantal computer zal het antwoord af te drukken samen met het aantal pogingen.
zo ziet het spel er in actie uit,
Hello, What's your name?Abhijeetokay! Abhijeet I am Guessing a number between 1 and 10:2Your guess is too low4Your guess is too low6You guessed the number in 3 tries!
In dit artikel, zullen we u begeleiden door elke stap van het maken van deze interactieve raden spel in Python.
open nu uw favoriete teksteditor en begin met coderen.
eerst zullen we een bestand aanmaken met de naam game.py
vanuit onze teksteditor.
om een willekeurig getal te genereren zullen we een Python module genaamd random
gebruiken om deze module in ons programma te gebruiken, we moeten het eerst importeren.
import random
number = random.randint(1, 10)
nu zullen we de gebruiker vragen zijn naam in te voeren en deze op te slaan in een variabele genaamd player_name
.
player_name = input("Hello, What's your name?")
In de volgende stap zullen we een variabele met de naam number_of_guesses
aanmaken en er 0 aan toewijzen. Later zullen we deze waarde verhogen bij elke iteratie van de while lus.
ten slotte, voordat we de while-lus construeren, zullen we een tekenreeks afdrukken die de naam van de speler bevat.
print('okay! '+ player_name+ ' I am Guessing a number between 1 and 10:')
laten we nu de while lus ontwerpen.
while number_of_guesses < 5: guess = int(input()) number_of_guesses += 1 if guess < number: print('Your guess is too low') if guess > number: print('Your guess is too high') if guess == number: break
in de eerste regel definiëren we de controlerende expressie van de while-lus. Ons spel geeft de gebruiker 5 pogingen om het getal te raden, dus minder dan 5 Omdat we de number_of_guesses variable
al aan 0 hebben toegewezen.
binnen de lus nemen we de input van de gebruiker en slaan deze op in de guess variabele. Echter, de gebruiker input die we krijgen van de gebruiker is een string object en om wiskundige bewerkingen uit te voeren op het moeten we eerst om het te converteren naar een integer die kan worden gedaan door de Python ‘ s ingebouwde int() methode.
in de volgende regel verhogen we de waarde van number_of_guesses
variabele met 1.
Hieronder staan 3 voorwaardelijke verklaringen.
- In het eerste statement, als we vergelijken of de gok kleiner is dan het gegenereerde getal als dit statement evalueert naar waar, printen we de corresponderende gok.
- op dezelfde manier controleren we of de gok groter is dan het gegenereerde getal.
- Het Laatste if statement heeft het sleutelwoord break, dat de lus volledig zal beëindigen, dus als de gok gelijk is aan de gegenereerde getallenlus wordt beëindigd.
onder de while-lus moeten we nog een paar condition statements toevoegen,
if guess == number: print('You guessed the number in ' + str(number_of_guesses) + ' tries!')else: print('You did not guess the number, The number was ' + str(number))
hier controleren we eerst of de gebruiker het nummer heeft geraden of niet. als ze dat deden, dan zullen we een bericht voor hen afdrukken, samen met het aantal pogingen.
als de speler het nummer aan het einde niet kon raden, zullen we het nummer samen met een bericht afdrukken.
Als u ons hebt gevolgd, dan is dit hoe uw programma eruit zou moeten zien:
import randomnumber = random.randint(1, 10)player_name = input("Hello, What's your name?")number_of_guesses = 0print('okay! '+ player_name+ ' I am Guessing a number between 1 and 10:')while number_of_guesses < 5: guess = int(input()) number_of_guesses += 1 if guess < number: print('Your guess is too low') if guess > number: print('Your guess is too high') if guess == number: breakif guess == number: print('You guessed the number in ' + str(number_of_guesses) + ' tries!')else: print('You did not guess the number, The number was ' + str(number))
laten we nu ons spel spelen!
om het spel uit te voeren, typt u dit in uw terminal python game.py
en drukt u op Enter.
dit was het, als je ergens vast kwam te zitten pak dan de code van Github repo