dzisiaj stworzymy interaktywną zgadywankę w Pythonie.
to będzie prosta gra zgadywania, w której komputer wygeneruje losową liczbę od 1 do 10, a użytkownik musi odgadnąć ją w 5 próbach.
w oparciu o odgadnięcie użytkownika komputer poda różne wskazówki, jeśli liczba jest wysoka lub niska. Gdy użytkownik zgadnie numer, komputer wydrukuje odpowiedź wraz z liczbą prób.
tak wygląda gra w akcji,
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!
w tym artykule przeprowadzimy Cię przez każdy krok tworzenia tej interaktywnej gry zgadywanki w Pythonie.
teraz otwórz swój ulubiony edytor tekstu i rozpocznij kodowanie.
najpierw utworzymy nowy plik o nazwie game.py
z naszego edytora tekstu.
aby wygenerować losową liczbę użyjemy modułu Pythona o nazwie random
aby użyć tego modułu w naszym programie, najpierw musimy go zaimportować.
import random
number = random.randint(1, 10)
teraz poprosimy użytkownika o wpisanie jego nazwy i zapisanie jej do zmiennej o nazwie player_name
.
player_name = input("Hello, What's your name?")
w następnym kroku utworzymy zmienną o nazwie number_of_guesses
i przypiszemy do niej 0. Później będziemy zwiększać tę wartość przy każdej iteracji pętli while.
na koniec, przed zbudowaniem pętli while, wydrukujemy łańcuch zawierający nazwę gracza.
print('okay! '+ player_name+ ' I am Guessing a number between 1 and 10:')
zaprojektujmy teraz pętlę 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
w pierwszej linii definiujemy wyrażenie sterujące pętli while. Nasza gra da użytkownikowi 5 prób odgadnięcia liczby, stąd mniej niż 5, ponieważ już przypisaliśmy number_of_guesses variable
do 0.
w pętli pobieramy dane wejściowe od użytkownika i zapisujemy je w zmiennej guess. Jednak Dane wejściowe użytkownika, które otrzymujemy od użytkownika, są obiektem typu string i aby wykonać na nim operacje matematyczne, musimy najpierw przekonwertować je na liczbę całkowitą, którą można wykonać za pomocą wbudowanej metody Int() Pythona.
w następnej linii zwiększamy wartość zmiennej number_of_guesses
o 1.
pod nim mamy 3 instrukcje warunkowe.
- w pierwszym poleceniu if porównujemy, czy zgadnięcie jest mniejsze od Wygenerowanej liczby, jeśli to polecenie zwraca wartość true, wypisujemy odpowiadającą mu liczbę.
- podobnie sprawdzamy, czy zgadywanie jest większe niż wygenerowana liczba.
- ostateczna Instrukcja if ma słowo kluczowe break, które całkowicie zakończy pętlę, więc gdy zgadywanie jest równe Wygenerowanej liczbie pętla zostanie zakończona.
poniżej pętli while musimy dodać kolejną parę instrukcji condition,
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))
tutaj najpierw sprawdzamy, czy użytkownik odgadł numer, czy nie. jeśli tak, wydrukujemy dla nich wiadomość wraz z liczbą prób.
jeśli gracz nie mógł odgadnąć numeru na końcu, wydrukujemy go wraz z wiadomością.
jeśli nas śledzisz, to tak powinien wyglądać twój program:
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))
a teraz przejdźmy do gry!
aby uruchomić grę, wpisz ją w swoim terminalu python game.py
i naciśnij Enter.
to było to, jeśli gdzieś utknąłeś, weź kod z GitHub repo