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

Занятие 31. Модули Python

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

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

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

Исходные данные: Оба файла lesson-31.py и lesson31_combat.py лежат в одной папке. Запускается lesson-31.py.

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

Занятие 31 посвящено теме «Модули Python». Здесь этот навык применяется не как отдельное упражнение, а как часть общей текстовой RPG. Модуль Python — отдельный .py-файл. В примере lesson31_combat.py хранит функцию attack, а lesson-31.py импортирует её. Оба файла должны лежать в одной папке; так большая игра делится на части с разной ответственностью.

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

from lesson31_combat import attack

enemy_hp = attack(7, 3)
print("HP противника:", enemy_hp)

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

Скачать модуль lesson31_combat.py — сохраните его рядом с lesson-31.py.

Практика

Скачай оба файла примера, положи рядом и запусти lesson-31.py. Затем вынеси одну функцию своей RPG в отдельный модуль и импортируй её в основной файл.

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

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

Импорт не закомментирован; основной файл запускается после повторного открытия редактора; изменение функции в модуле влияет на результат основного файла.

Как проверить: Команда python lesson-31.py выводит HP противника: 4. После изменения attack в модуле результат основного файла меняется.

Что сдать

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

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

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

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

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

Вынеси одну вспомогательную функцию своей RPG в отдельный модуль и добавь короткую инструкцию запуска.

После базы: Добавь в модуль блок if __name__ == '__main__' с самопроверкой и объясни его поведение при импорте.

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

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