dnes uděláme interaktivní hádací hru v Pythonu.
bude to jednoduchá hádací hra, kde počítač vygeneruje náhodné číslo mezi 1 až 10 a uživatel jej musí uhodnout v 5 pokusech.
na základě odhadu uživatele počítač poskytne různé rady, pokud je číslo vysoké nebo nízké. Když uživatel odhad odpovídá číslo počítač vytiskne odpověď spolu s počtem pokusů.
takto vypadá hra v akci,
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!
v tomto článku vás provedeme každým krokem výroby této interaktivní hádací hry v Pythonu.
nyní otevřete svůj oblíbený textový editor a začněte kódovat.
nejprve vytvoříme soubor nový soubor s názvem game.py
z našeho textového editoru.
pro generování náhodného čísla použijeme modul Python s názvem random
k použití tohoto modulu v našem programu, nejprve jej musíme importovat.
import random
number = random.randint(1, 10)
nyní vyzveme uživatele, aby zadal své jméno a uložil jej do proměnné s názvem player_name
.
player_name = input("Hello, What's your name?")
v dalším kroku vytvoříme proměnnou s názvem number_of_guesses
a přiřadíme jí 0. Později tuto hodnotu zvýšíme při každé iteraci smyčky while.
nakonec před vytvořením smyčky while vytiskneme řetězec, který obsahuje jméno přehrávače.
print('okay! '+ player_name+ ' I am Guessing a number between 1 and 10:')
nyní navrhneme smyčku while.
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
v prvním řádku definujeme řídící výraz smyčky while. Naše hra dá uživateli 5 pokusů uhodnout číslo, tedy méně než 5, protože jsme již přiřadili number_of_guesses variable
na 0.
v rámci smyčky bereme vstup od uživatele a ukládáme jej do proměnné guess. Vstup uživatele, který získáváme od uživatele, je však objekt řetězce a pro provedení matematických operací na něm musíme nejprve převést na celé číslo, které lze provést vestavěnou metodou Int() Pythonu.
v dalším řádku zvyšujeme hodnotu proměnné number_of_guesses
o 1.
pod ním máme 3 podmíněné příkazy.
- v prvním příkazu if porovnáváme, zda je odhad menší než vygenerované číslo, pokud toto prohlášení vyhodnotí jako pravdivé, vytiskneme odpovídající odhad.
- podobně kontrolujeme, zda je odhad větší než vygenerované číslo.
- poslední příkaz if má klíčové slovo break, který ukončí smyčku úplně, Takže když asi je rovna vygenerované číslo smyčky dostane ukončen.
Pod while, musíme přidat další pár podmínkou prohlášení,
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))
Tady jsme se poprvé ověřuje, jestli uživatel má uhodnout číslo, nebo ne. pokud ano, vytiskneme jim zprávu spolu s počtem pokusů.
pokud hráč nemohl uhodnout číslo na konci, vytiskneme číslo spolu se zprávou.
pokud jste nás sledovali, pak by měl váš program vypadat takto:
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))
Nyní pojďme spustit naši hru!
Chcete-li spustit hru, Zadejte toto do svého terminálu python game.py
a stiskněte klávesu Enter.
to bylo ono, pokud jste někde uvízli chytit kódový formulář GitHub repo