Игра Угадай число на Python

Игра "Угадай число" на Python

Игра "Угадай число" - это прекрасный пример для начинающих программистов, желающих освоить основы Python. Здесь мы создадим эту игру с нуля, обсудим каждый шаг разработки и добавим дополнительные функции для улучшения игрового опыта.

Концепция игры

Игроку предлагается угадать число, загаданное программой. Число находится в определенном диапазоне (например, от 1 до 100). После каждой попытки программа сообщает, нужно ли угадывающему выбрать большее или меньшее число.

Шаг 1: Генерация случайного числа

Первый шаг - создание функции для генерации случайного числа. Это делается с помощью модуля random в Python.

import random

def generate_number():
    return random.randint(1, 100)

Шаг 2: Реализация основного цикла игры

Основная логика игры реализуется через цикл while, где пользователь вводит свои предположения, а программа дает подсказки.

def guess_the_number():
    number_to_guess = generate_number()
    attempts = 0

    while True:
        user_guess = int(input("Угадайте число от 1 до 100: "))
        attempts += 1

        if user_guess < number_to_guess:
            print("Слишком мало, попробуйте еще раз!")
        elif user_guess > number_to_guess:
            print("Слишком много, попробуйте еще раз!")
        else:
            print(f"Поздравляем! Вы угадали число с {attempts} попыток.")
            break

Шаг 3: Запуск игры

Запуск игры производится с помощью проверки if __name__ == "__main__":, которая гарантирует, что игра начнется, только если скрипт запущен как главный файл.

if __name__ == "__main__":
    guess_the_number()

Дополнительные улучшения

Обработка ввода пользователя

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

def get_user_guess():
    while True:
        try:
            return int(input("Угадайте число от 1 до 100: "))
        except ValueError:
            print("Пожалуйста, введите корректное число.")

Возможность повторной игры

Добавим функцию, позволяющую игроку сыграть снова после окончания одной игровой сессии.

def play_again():
    answer = input("Хотите сыграть еще раз? (да/нет): ")
    return answer.lower() == 'да'

Интеграция улучшений в игру

Интегрируем все улучшения для создания окончательной версии игры.

import random

def generate_number():
    return random.randint(1, 100)

def get_user_guess():
    while True:
        try:
            return int(input("Угадайте число от 1 до 100: "))
        except ValueError:
            print("Пожалуйста, введите корректное число.")

def play_again():
    answer = input("Хотите сыграть еще раз? (да/нет): ")
    return answer.lower() == 'да'

def guess_the_number():
    while True:
        number_to_guess = generate_number()
        attempts = 0

        while True:
            user_guess = get_user_guess()
            attempts += 1

            if user_guess < number_to_guess:
                print("Слишком мало, попробуйте еще раз!")
            elif user_guess > number_to_guess:
                print("Слишком много, попробуйте еще раз!")
            else:
                print(f"Поздравляем! Вы угадали число с {attempts} попыток.")
                break

        if not play_again():
            break

if __name__ == "__main__":
    guess_the_number()

Заключение

"Угадай число" - это не только веселая и интересная игра, но и отличный способ научиться основам программирования на Python. Создавая и оптимизируя эту игру, вы учитесь основным концепциям программирования, таким как циклы, условные операторы, функции, обработка исключений и многому другому. Это знание будет полезно вам в будущем при создании более сложных программ и проектов.

Содержание: