учебный путь · python
Python: функции и организация кода
Как писать и собирать функции: параметры и значения по умолчанию, декомпозиция на хелперы, выбор поведения по ключу, чистые функции против состояния и композиция. Каждая задача самостоятельна.
AI-ассистент ведёт подсказками, но решение не выдаёт
curriculum
Задачи пути — 6 модулей, 30 задач
Каждый модуль — навык. Решаешь задачи по порядку, и к финалу из них собирается рабочий результат.
1.1
Приветствие пользователя
Соберите строку приветствия по имени, подставляя обращение к гостю для пустого ввода
1.2
Совершеннолетие
Верните True, если возраст 18 или больше, иначе False — граница 18 включительна
1.3
Цена со скидкой
Посчитайте цену товара с учётом процента скидки и округлите её до копеек
1.4
Модуль разницы
Верните разницу двух чисел без знака — всегда неотрицательную, не вызывая abs
1.5
Зажать в диапазон
Прижмите значение к ближайшей границе диапазона [low, high], не выходя за его пределы
2.1
Приветствие с настройкой
Соберите строку приветствия, подбирая обращение по умолчанию, когда тон не задан явно
2.2
Сборка URL-пути
Склейте части запроса в один аккуратный путь, срезая лишние слэши через *parts
2.3
Имя и фамилия
Разбейте полное имя на первое слово и остаток, вернув оба значения кортежем
2.4
Метка с флагами
Соберите подпись из текста, управляя верхним регистром и префиксом через именованные флаги
2.5
Итоговая стоимость заказа
Посчитайте финальную сумму заказа из цены, количества, доставки и скидки с разумными значениями по умолчанию
3.1
Длительность мм:сс
Соберите время ролика в формате мм:сс из двух хелперов — целых минут и остатка секунд
3.2
Нормализация тега
Приведите тег статьи к единому виду через цепочку хелперов: обрезка, схлопывание пробелов, нижний регистр, дефисы
3.3
Оценка надёжности пароля
Соберите индикатор weak/medium/strong из трёх предикатов-требований к паролю
3.4
Итоги заказа с налогом
Соберите чек заказа из хелперов: сумма позиций, налог и итог в одном словаре
3.5
Генерация логина
Соберите логин из имени и числа через три хелпера: первое слово, очистка от лишних символов и сборка
4.1
Калькулятор операций
Выберите арифметическую операцию по строковому ключу через словарь-таблицу, отвергая неизвестную операцию
4.2
Маршрутизация заявки
По категории тикета верните команду из словаря-таблицы, а неизвестную категорию направьте в support
4.3
Стоимость доставки
Считайте стоимость доставки по способу через таблицу ставок, отклоняя неизвестный способ
4.4
Буквенная оценка
Переведите балл 0–100 в букву A–F по таблице порогов сверху вниз, отвергая балл вне диапазона
4.5
Конвертер длины
Переведите длину между мм, см, м и км через один курс в метрах, отклоняя неизвестную единицу
5.1
Лента последних с лимитом
Добавьте запись в ленту, верните новый список из не более чем limit последних элементов
5.2
Нормировка баллов
Постройте новый словарь долей от лидера, не изменяя исходные баллы
5.3
Счётчик обращений
Соберите объект с состоянием: считайте обращения по ключам и сумму всех — счётчик помнит вызовы между собой
5.4
Функция-счётчик
Соберите make_counter: возвращает функцию, которая помнит своё значение между вызовами
5.5
Бегущий максимум
Постройте список рекордов: для каждой позиции — максимум среди всех чисел до неё включительно
6.1
Применить цепочку функций
Прогоните значение через список функций по очереди: результат каждой передаётся следующей
6.2
Отбор по условию
Верните элементы списка, для которых функция-предикат истинна, сохраняя порядок
6.3
Сводка по тексту
Соберите превью комментария: очищенный текст и число слов, переиспользуя два хелпера
6.4
Конвейер с остановкой
Прогоните значение через список шагов, остановившись на первом, вернувшем None, и сообщите число применённых шагов
6.5
Композиция двух функций капстоун
Соберите из двух функций одну: compose2(f, g) возвращает функцию, вычисляющую f(g(x))
❯ koddo start python-functions
Готов начать этот путь?
Зарегистрируйся — откроем путь прямо на первой задаче. Без установки и настройки, всё в браузере.