Глава 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 · игра с неограниченными попытками