← маршрут 1–48 · личный кабинет

Занятие 38. Валидация ввода в цикле

45 минут учебной работыиндивидуальнотекстовая RPG

Перед началом

Что открыть: Открой рабочую версию проекта после занятия 37. Демонстрационный lesson-38.py используй как отдельный маленький пример.

Исходные данные: Начни с значений из минимального примера. Творческие изменения выполняй только после базовой проверки.

Что нужно понять

Занятие 38 посвящено теме «Валидация ввода в цикле». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Валидация повторяет вопрос до допустимой команды. strip() убирает пробелы, lower() нормализует регистр. В базовом варианте используем знакомый список допустимых строк, а литерал множества можно рассмотреть в расширении.

Минимальный пример

allowed=["attack","run","status"]
while True:
    command=input("attack/run/status: ").strip().lower()
    if command in allowed: break
    print("Неизвестная команда")
print("Принято:",command)

Скачать демонстрационный .py-файл

Практика

Используй allowed=['attack','run','status']. Повторяй вопрос, пока нормализованная команда не входит в allowed.

Связь с проектом: После базового упражнения перенеси изученный приём в рабочую версию проекта и сохрани версию после занятия 38.

Критерий проверки

Команды принимаются независимо от лишних пробелов и регистра; неизвестное слово приводит к повторному запросу, а не к аварии.

Как проверить: Ввод ' STATUS ' принимается как status; неизвестное слово приводит к повторному запросу.

Что сдать

Сдай рабочую версию проекта после занятия 38 и короткий протокол проверки: входные данные → ожидалось → получилось.

Если нужна поддержка: Если задача не запускается целиком, выполни один шаг отдельно и объясни, что должно измениться до следующего шага.

Типичное затруднение

Не размазывай одинаковую проверку по всем сценам. Сначала сформулируй единый список допустимых команд.

Домашняя часть

Подключи валидатор к одному меню своей RPG и проверь три неверных ответа подряд.

После базы: Добавь короткую команду help как отдельный допустимый вариант.

Если появилась ошибка

Traceback — сообщение Python об ошибке. Сначала прочитай его последнюю строку и найди номер строки своего файла. Повтори только тот маленький шаг, на котором возникла ошибка; после исправления снова запусти тот же проверочный случай. Если используешь ИИ, сохрани собственную попытку и попроси одну подсказку, а не готовое решение.