Практическая 1 · Python

Игра «Угадай число»

Компьютер загадает число от 1 до 50. У вас пять попыток, а после каждого неверного ответа — подсказка.

Условия игры

  • Компьютер выбирает случайное целое число от 1 до 50, включая 1 и 50.
  • У игрока 5 попыток.
  • Если ответ неверный, программа подсказывает: загаданное число больше или меньше.
  • Буквы и числа вне диапазона не расходуют попытку.
  • При победе появляется поздравление, а при проигрыше — загаданное число.

Добавьте код игры

  1. Вернитесь в свой блокнот. Под приветствием выберите пустую ячейку типа Code.
  2. Перенесите в неё код игры ниже.
  3. Сохраните отступы в начале строк. Весь код игры должен быть в одной ячейке.
Строки с # — комментарии. Прочитайте их: они объясняют, что делает программа.
Python · одна ячейка с игрой
# random помогает компьютеру выбрать случайное число.
import random

# У игрока пять попыток. Обе границы диапазона входят в игру.
attempts = 5
secret = random.randint(1, 50)
print(f"Я загадал число от 1 до 50. У вас {attempts} попыток!")

# Повторяем вопрос, пока есть попытки.
while attempts > 0:
    try:
        # input получает текст, а int превращает его в целое число.
        guess = int(input("Какое число я загадал? "))
    except ValueError:
        print("Введите целое число, например 25.")
        continue  # Возвращаемся к вопросу, не тратя попытку.

    if guess < 1 or guess > 50:
        print("Нужно число от 1 до 50.")
        continue

    # Только подходящее число расходует попытку.
    attempts = attempts - 1

    if guess == secret:
        print("Поздравляем! Вы угадали число!")
        break  # Победа — выходим из цикла.
    elif guess < secret:
        print("Загаданное число больше.")
    else:
        print("Загаданное число меньше.")

    print("Осталось попыток:", attempts)

# Если число так и не угадано, показываем ответ.
if guess != secret:
    print("Попытки закончились. Загаданное число:", secret)

print("Чтобы сыграть снова, запустите эту ячейку ещё раз.")

Запустите и сыграйте

  1. Выделите ячейку с игрой и нажмите Shift + Enter.
  2. Под кодом появится сообщение о пяти попытках и поле «Какое число я загадал?».
  3. Введите, например, 25 в это поле и нажмите Enter.
  4. Прочитайте подсказку. Введите новое число и продолжайте игру до победы или окончания попыток.
Ответ вводится в поле под кодом. Метка [*] означает, что ячейка ещё работает. Если есть поле ввода, программа ждёт вашего ответа.
В JupyterLite под кодом игры появляется поле Какое число я загадал для ввода ответа.
Введите число в поле под кодом и нажмите Enter.

Как сыграть ещё раз

Дождитесь окончания игры, выберите ту же ячейку с кодом и снова нажмите Shift + Enter. Компьютер загадает новое число.

Разберите код

КомандаЧто делает
random.randint(1, 50)Выбирает случайное число от 1 до 50.
input() и int()Получают ответ как текст и превращают его в целое число.
while attempts > 0Повторяет вопрос, пока есть попытки.
try / except ValueErrorПомогают объяснить ошибку, если вместо числа введены буквы.
continueВозвращает программу к началу цикла.
if / elif / elseСравнивают ответ с секретным числом.
breakЗавершает цикл, когда число угадано.

Проверьте и измените игру

  • При вводе привет программа просит целое число.
  • При вводе 51 появляется сообщение о диапазоне 1–50.
  • После неверного подходящего ответа число попыток уменьшается на один.
  • Игра завершается поздравлением или сообщением с ответом.

Ваше изменение

Замените attempts = 5 на attempts = 7, выполните ячейку заново и проверьте, что попыток стало больше. Затем придумайте своё поздравление.

Профессиональная проба · Python в JupyterLite