Глава 10 · Немного автоматизации!

Мини-проект — игра «Угадай число», версия 2

Та же игра, что и в главе 9, — но теперь с неограниченным числом попыток, благодаря while и break.

Помните игру «Угадай число» из главы 9? У неё была одна проблема — всего одна попытка. Теперь, вооружившись while и break, дадим игроку сколько угодно попыток.

ugadaj_chislo_v2.py
import random

zagadannoe = random.randint(1, 20)
popytki = 0

while True:
    popytka = int(input("Угадайте число от 1 до 20: "))
    popytki += 1

    if popytka == zagadannoe:
        print(f"Поздравляем, вы угадали за {popytki} попыток(ки)!")
        break
    elif popytka < zagadannoe:
        print("Загаданное число больше.")
    else:
        print("Загаданное число меньше.")
while True — намеренно бесконечный цикл
while True: создаёт цикл, который сам по себе никогда не остановится, — единственный выход из него: break внутри. Это распространённый и совершенно нормальный приём, когда условие остановки естественнее проверить в середине цикла, а не в его начале.
★★ Самостоятельная задача
Ограничение попыток

Добавьте ограничение — не более 5 попыток; если игрок не угадал за 5 попыток, сообщите правильный ответ и завершите игру.

Практика в Jupyter Notebook
10-05-ugadaj-v2.ipynb · игра с неограниченными попытками
Открыть ноутбук →