учебный путь · python
Python: тематическая практика
Независимые задачи по темам Python: строки, числа, списки, словари, сортировка, булева логика, временные окна, валидация, конечные автоматы, анализ текста и алгоритмы. Каждая задача самостоятельна — это набор прикладных упражнений, а не сквозной курс или мини-проект.
AI-ассистент ведёт подсказками, но решение не выдаёт
curriculum
Задачи пути — 11 модулей, 50 задач
Каждый модуль — навык. Решаешь задачи по порядку, и к финалу из них собирается рабочий результат.
1.1
Нормализация телефона
Приведите сырой номер контакта к каноническому российскому формату для импорта в CRM
1.2
Парсер логов по шаблону
Разберите строку лога по шаблону с плейсхолдерами и верните извлечённые поля без регулярных выражений
1.3
Флаги релиза
Извлеките валидные flag:-маркеры из релизных заметок, сохранив порядок первого появления
1.4
Маскирование email-адреса
Скройте локальную часть email для безопасных логов поддержки, сохранив читаемый домен
1.5
Нормализация пути ресурса
Приведите относительный путь CDN к безопасному каноническому виду без выхода выше корня
1.6
Общие навыки
Найдите навыки, которые совпадают в двух профильных системах после нормализации регистра, пробелов и буквы «ё»
1.7
Slug урока
Соберите URL-slug урока из заголовка CMS: нормализуйте регистр, разбейте на токены и соедините их дефисами
1.8
Окно релиза
Разберите строку окна деплоя в день, минуты от полуночи и длительность со строгой валидацией формата
2.1
Расчёт парковочного чека
Посчитайте чек парковочного терминала в целых копейках: бесплатные минуты, округление платного времени вверх и строгая валидация входа
2.2
Ступенчатый биллинг потребления
Посчитайте счёт по тарифным ступеням: разбивка по диапазонам, минимальный платёж и налог без float-арифметики
2.3
Баллы за возврат
Посчитайте переплату и компенсационные баллы за возврат заказа без float-арифметики
2.4
План рассрочки в копейках
Разложите сумму рассрочки по месяцам без float-арифметики и потери копеек
2.5
Блоки хранилища
Посчитайте, сколько целых биллинговых блоков нужно для занятого объёма хранилища, без вещественных чисел
3.1
Склейка занятых интервалов
Склейте пересекающиеся и соприкасающиеся занятые интервалы календаря в компактный список блоков
3.2
Упаковка доставок в рейсы
Соберите заказы в детерминированные курьерские рейсы с ограничением по весу, числу заказов и приоритетной сортировкой
3.3
Свёртка кликов
Сверните отсортированные события кликов в визиты с учётом idle-gap и строгой границы смены страницы
3.4
Дедупликация остановок курьера
Удалите дубли адресов в маршруте курьера, выбирая лучшую остановку по ETA, приоритету и исходному порядку
3.5
Батчи событий
Соберите поток аналитических событий в пачки без смешивания арендаторов и без превышения заданного размера
4.1
Сводка складских остатков
Соберите отчёт по складскому экспорту: общие остатки, стоимость по категориям и список SKU с низким запасом
4.2
Матрица прав доступа
Соберите эффективные права пользователей из ролей, наследования, wildcard-разрешений и deny-правил
4.3
Настройки пользователя
Соберите итоговые настройки профиля из базовых значений, сохранённых предпочтений и белого списка разрешённых ключей
4.4
Сводка прогресса по курсу
Соберите по каждому студенту прогресс курса: сколько обязательных уроков сдано, процент завершения и следующий урок
4.5
Окна активности
Сгруппируйте отсортированный поток событий в пользовательские сессии по лимиту простоя
4.6
Сводка по функциям
Соберите отчёт по использованию известных функций: события, уникальные пользователи, неизвестные события и лидер по активности
5.1
Приоритизация обращений
Посчитайте приоритет обращений поддержки и верните детерминированный топ для ближайшего окна разбора
5.2
Ранжирование A/B-вариантов
Отранжируйте варианты эксперимента по нижней границе Wilson score, отсеките малые выборки и сохраните детерминированные tie-breaks
5.3
Очередь уроков
Отсортируйте очередь уроков и домашних заданий по дедлайну, приоритету, длительности и id, не меняя входные данные
5.4
Ранжирование баг-репортов
Отсортируйте баг-репорты для триажа по вычисленному приоритету и строгим правилам тай-брейка
5.5
Рейтинг ревьюеров
Отсортируйте активных кандидатов на код-ревью по формуле качества, текущей нагрузке и имени
6.1
Окно обслуживания
Проверьте, попадает ли день недели и час в плановое окно обслуживания для баннеров о деплое
6.2
Окно дайджеста
Определите, можно ли отправить ежедневный дайджест по каналу уведомлений в текущий час без ночного шума
6.3
Доступ к пробному периоду
Проверьте, можно ли показать кнопку запуска trial для тарифа с учётом уже использованного пробного периода
6.4
Доступ к ответу на форуме
Проверьте, может ли ученик ответить в теме форума с учётом блокировки, подтверждённой почты, замка темы и уровня доверия
7.1
Слоты напоминаний
Сформируйте список времени для календарных напоминаний внутри полуоткрытого окна дня
7.2
Слияние тихих часов
Соберите компактное расписание тихих часов из полуоткрытых интервалов настроек уведомлений
7.3
Свободные окна для бронирования
Найдите свободные интервалы дня после нормализации и слияния занятых окон календаря
8.1
Проверка импортируемых строк
Проверьте строки CSV-импорта: обязательные поля, лишние колонки и сводка ошибок без мутации входа
8.2
Проверка вебхуков
Отфильтруйте пачку webhook-событий LMS: строгие ошибки по первому нарушению, дедупликация id и копии валидных payload
8.3
План миграции
Проверьте план миграции: id, допустимые действия, зависимости и список шагов, готовых к запуску
9.1
Статусы заказа
Опишите конечный автомат заказа: разрешённые переходы, точные ошибки и независимую историю для каждого экземпляра
9.2
Жизненный цикл подписки
Опишите конечный автомат подписки: trial, списания, пауза, отмена, точные ошибки и защищённая история переходов
9.3
Аудит переходов тикета
Проверьте журнал событий тикетов: восстановите порядок по времени, примените разрешённые переходы и соберите нарушения workflow
10.1
Индекс n-грамм
Постройте индекс последовательных n-грамм по токенизированным документам, сохранив все позиции и детерминированный порядок ключей
10.2
Плотность ключевых слов
Посчитайте, насколько токенизированное описание урока насыщено ключевыми словами каталожного поиска
10.3
Оценка поисковых сниппетов
Оцените найденные сниппеты по совпадениям с ключевыми словами, плотности и детерминированному порядку выдачи
11.1
Лента комментариев
Разверните дерево комментариев урока в плоскую ленту: pre-order, глубина вложенности, архивные ветки и ограничение max_depth
11.2
Соседние алерты
Посчитайте для каждой стойки серверной, сколько активных алертов находится в восьми соседних клетках
11.3
Порядок модулей
Постройте стабильный порядок прохождения учебных модулей по графу зависимостей со строгой валидацией ошибок
11.4
Цикл в графе пререквизитов
Найдите первый цикл в графе учебных prerequisites при детерминированном DFS-обходе
11.5
Политика доступа капстоун
Реализуйте класс политики доступа: приоритеты, wildcard-правила, региональные ограничения и точный ответ deny-by-default
❯ koddo start python-standalone-practice
Готов начать этот путь?
Зарегистрируйся — откроем путь прямо на первой задаче. Без установки и настройки, всё в браузере.