игра в угадайку на python

Подпишитесь на наш канал Youtube, чтобы изучить бесплатный курс по Python и многое другое

Игра «Угадайка
А вот и самая интересная часть обучения. Лучший способ обучения — создавать что-то новое. В этом разделе мы собираемся сделать простую игру, в которой компьютер будет случайным образом выбирать число от 1-50, а мы попросим пользователя угадать это число. Если он угадает число за 5 угадываний, то выиграет игру, в противном случае он проиграет.

Для случайного выбора числа мы будем использовать встроенный в Python модуль Random. Давайте посмотрим, что такое модуль Random и как его можно использовать.

Модуль Random
Для создания игры «Угадайка» мы будем использовать встроенный в Python модуль random. Модуль random используется для генерации случайных чисел. В модуле random есть множество встроенных функций, которые используются для генерации случайных чисел. Давайте рассмотрим некоторые функции модуля random.

Прежде всего, мы должны импортировать модуль, чтобы использовать его.

import randomimport random
Вход в полноэкранный режим Выйти из полноэкранного режима

randint
random.randint(a, b)

Функция randint модуля random принимает в качестве аргумента два целых числа и генерирует одно случайное число в диапазоне [a, b], включающем оба числа.

random.randint(2,9)
# Output: 7
Вход в полноэкранный режим Выход из полноэкранного режима

random
random.random()

Эта функция используется для генерации числа с плавающей точкой в диапазоне от 0 до 1.
random.random()

random.random()
# Output: 0.8795690805656851
Вход в полноэкранный режим Выход из полноэкранного режима

Выбор
random.choice(seq)

Эта функция выбирает один случайный элемент из последовательности. Если последовательность пуста, интерпретатор выдает ошибку IndexError.

random.choice([1, 4, 5, 8, 11])
# Output: 4

random.choice(('a', 'b', 'c'))
# Output: 'c'
Вход в полноэкранный режим Выход из полноэкранного режима

randrange
random.randrange(begin, end, step)

Эта функция используется для генерации случайно выбранного элемента из диапазона range(start, stop, step).

random.randrange(5, 20)
# Output: 11

random.randrange(13, 33, 2)
# Output: 17
Войти в полноэкранный режим Выход из полноэкранного режима

Дополнительные функции и другие подробности вы можете найти в документации к модулю random.

Начнем игру
Что такое игра?
*Компьютер случайным образом выберет число от 1 до 50.
* У пользователя будет 5 шансов угадать число.
*Чтобы сделать игру интересной, мы можем помочь пользователю угадать правильное число.
правильное число.
*Если он угадает число большее, чем реальное число, то
мы скажем ему: «Ваше число слишком велико».
*Если он угадает число меньше фактического, то
мы скажем ему «Твое предположение слишком мало».
*Если он угадает правильное число в течение 5 шансов, то…
это победа.
*В противном случае, это проигрыш.

Как это сделать?
Чтобы сделать эту игру, мы просто создадим файл с именем game.py и напишем весь наш код в этом файле. Но прежде чем начать писать программу, мы напишем псевдокод. Псевдокод — это способ структурировать ваш мыслительный процесс. Мы разобьем проблему на более мелкие части, а затем попытаемся ее решить.

Псевдокод игры «Угадайка

1.Запустите игру.
2.Распечатать руководство «Как играть».
3.Сгенерировать случайное число от 1 до 50.
4.Принять ввод пользователя.
5.Сравнить введенное пользователем число с числом, которое выбрал компьютер.
6.Если оно равно, выведите «Вы выиграли игру».
7.Если меньше, то выведите «Ваше предположение слишком мало».
8.Если больше, то выведите ‘Ваша догадка слишком высока’.
9.Повторите с шага 4 по шаг 8 еще четыре раза, чтобы дать ему 5
шансов.
10.Наконец, если он не сможет угадать, выведите «Извините, вы
проиграли игру».

*Для создания этой игры мы напишем функцию и всю
логику игры внутри функции. Таким образом, каждый раз, когда вы
вызовете функцию, игра начнется. Вы также можете сделать это
без создания функции, но создание функции
сделает ваш код чистым и ясным. Функции также описывают
как группу утверждений и выражений, которые выполняют
определенную задачу.

# game.py

def guess_game():
    pass

# Here we use pass statement, so the interpreter will run the function without error.

Вход в полноэкранный режим Выход из полноэкранного режима

Теперь давайте напишем руководство по игре. Для его написания воспользуемся функцией print.

import random


# Number selected by the computer.
random_num = random.randint(1,50)
Войти в полноэкранный режим Выход из полноэкранного режима

Принимаем ввод от пользователя.

guess_num = input('Guess the number: ')
Вход в полноэкранный режим Выход из полноэкранного режима

Теперь нам нужно дать пользователю 5 шансов, при этом будет несколько повторяющихся шагов. Для реализации этого мы можем использовать цикл for.

for chance in range(5, 0, -1):
    if chance:
        print(f'You have {chance} chance to guess the number.')
        guess_num = input('Guess the number: ')
        if int(num) == random_num:
            print('Hurray!, You guess the correct Number')
            break
        elif int(guess_num) > random_num:
            print('Your guess is too high.')
        elif int(guess_num) < random_num:
            print('Your guess is too low.')
else:
    print(f'Sorry, you lost the game.n The correct number was          {random_num}')
Вход в полноэкранный режим Выйти из полноэкранного режима

*Сначала мы запустили цикл for, используя функцию range. Вы знаете
что функция range принимает три параметра: start, stop и
шаг. Мы задаем параметр start 5, end 0 и step -1
потому что мы хотим выводить количество оставшихся шансов каждый раз.
когда пользователь угадывает число.
*Далее мы напишем условие for…else. Блок else сразу
после for выполняется только тогда, когда цикл НЕ прерывается
оператором break. Внутри цикла for, в условии if, мы
принимаем истинные значения переменной chance.
*Во вложенном условии if мы сравниваем число, угаданное пользователем, и случайное число, сгенерированное файлом random.chance.
пользователя и случайное число, сгенерированное функцией random.randint()
функцией random.randint(). В соответствии с результатом мы печатаем
утверждения. Мы знаем, что тип вывода функции input
всегда строка, поэтому мы используем функцию int().
для преобразования в целое число.
*После того, как пользователь угадает правильное число, мы не хотим, чтобы наш
чтобы наш цикл продолжался, поэтому мы использовали оператор break в случае, если
оба числа равны.
*В тот момент, когда оно станет равным нулю, программа не будет входить в
условие if. Она сразу перейдет к условию else
и выведет сообщение.

Смотрите весь код ниже.

# game.py

import random

# Function definition
def guess_game():
    print("Welcome to the Guessing Game.nThe computer has selected one random number from 1 t0 50.nGuess the number.nLet's Start")
    random_num = random.randint(1, 50)
    for chance in range(5, 0, -1):
        if chance:
            print(f'You have {chance} chance to guess the number.')
            guess_num = input('Guess the number: ')
            if int(guess_num) == random_num:
                print('Hurray!, You guess the correct Number')
                break
            elif int(guess_num) > random_num:
                print('Your guess is too high.')
            elif int(guess_num) < random_num:
                print('Your guess is too low.')
    else:
        print(f'Sorry, you lost the game.n The correct number was {random_num}')


guess_game()   # calling the funciton

# Output: 
'''
Welcome to the Guessing Game.
The computer has selected one random number from 1 t0 50.
Guess the number.
Let's Start
You have 5 chance to guess the number.
Guess the number: 25
Your guess is too high.
You have 4 chance to guess the number.
Guess the number: 13
Your guess is too high.
You have 3 chance to guess the number.
Guess the number: 6
Your guess is too high.
You have 2 chance to guess the number.
Guess the number: 3
Your guess is too high.
You have 1 chance to guess the number.
Guess the number: 2
Hurray!, You guess the correct Number
'''

Вход в полноэкранный режим Выход из полноэкранного режима

Оцените статью
Procodings.ru
Добавить комментарий