курс · Python

Python: функции и организация кода

Разобьёшь расчёты и проверки на небольшие функции. Научишься передавать параметры, хранить состояние и собирать функции в цепочки.

Для старта: Знаешь условия, циклы, списки и словари; умеешь написать простую функцию

  • Python
  • 6 модулей
  • 6 уроков
  • 30 задач
  • 5 задач бесплатно

После регистрации курс откроется в приложении.

результаты практики

Что освоишь на практике

Автор программы:
  • Задавать параметры по умолчанию и разворачивать *args и **kwargs без потери порядка
  • Разбивать большую функцию на именованные хелперы с одной ответственностью каждый
  • Заменять цепочку if-elif словарём-диспетчером с явным отказом на неизвестном ключе
подробнее о задачах и навыках

Что получится

30 решений на Python в 6 модулях про сборку функций из частей: параметров, хелперов, замыканий и композиции. Пройдёшь путь от совершеннолетия по возрасту и цены со скидкой до калькулятора операций через словарь-диспетчер, make_counter с замыканием и конвейера шагов с остановкой на первом None. Модуль «Основы функций» бесплатный, «Аргументы и значения по умолчанию», «Декомпозиция», «Таблицы диспетчеризации», «Чистые функции и состояние» и «Композиция и pipeline» — в Premium. Каждую задачу решаешь и запускаешь в браузере, судья проверяет её на скрытых входных данных.

Для кого

Для тех, кто уже пишет функции на Python, но собирает их интуитивно: длинные if-elif вместо словаря, копипаста вместо хелперов, побочные эффекты там, где нужен чистый возврат. Уровень курса easy по входному синтаксису, но требует разобраться в декомпозиции и композиции осознанно. Подойдёт после базового курса, до классов и ООП.

  • Знать переменные, условия, циклы, списки и словари Python
  • Уметь объявить простую функцию, передать аргумент и вернуть результат

Что ещё отработаешь

  • Отличать чистую функцию от функции с состоянием и осознанно выбирать между ними
  • Собирать замыкания: счётчики и фабрики функций, которые помнят значение между вызовами
  • Строить конвейер из нескольких функций и останавливать его по условию
  • Соединять две функции в одну композицией, не трогая промежуточное состояние
программа

Программа курса

Начинай с первого модуля: новые темы идут от простых к сложным. Каждая задача — отдельная практика с проверкой решения.

30 задач · 6 модулей

// интерактивные уроки · 6 все уроки

Урок объясняет тему по шагам — текст, код и проверка прямо в браузере, — а задачи закрепляют её на прикладных примерах.

  1. 01 Функции: def, параметры и return 25 мин бесплатно
  2. 02 Аргументы и значения по умолчанию 30 мин бесплатно
  3. 03 Декомпозиция: маленькие функции 35 мин Premium
  4. 04 Таблицы диспетчеризации: действие по ключу 30 мин Premium
  5. 05 Чистые функции и состояние: кто меняет данные 35 мин Premium
  6. 06 Композиция: функции как данные и конвейеры 30 мин Premium
Функции: def, параметры и return
урок · 25 мин · объяснение, код и проверка по шагам
1.1
Приветствие пользователя
Соберите строку приветствия по имени, подставляя обращение к гостю для пустого ввода
1.2
Совершеннолетие
Верните True, если возраст 18 или больше, иначе False — граница 18 включительна
1.3
Цена со скидкой
Посчитайте цену товара с учётом процента скидки и округлите её до копеек
1.4
Модуль разницы
Верните разницу двух чисел без знака — всегда неотрицательную, не вызывая abs
1.5
Зажать в диапазон
Прижмите значение к ближайшей границе диапазона [low, high], не выходя за его пределы
Аргументы и значения по умолчанию
урок · 30 мин · объяснение, код и проверка по шагам
2.1
Приветствие с настройкой
Соберите строку приветствия, подбирая обращение по умолчанию, когда тон не задан явно
2.2
Сборка URL-пути
Склейте части запроса в один аккуратный путь, срезая лишние слэши через *parts
2.3
Имя и фамилия
Разбейте полное имя на первое слово и остаток, вернув оба значения кортежем
2.4
Метка с флагами
Соберите подпись из текста, управляя верхним регистром и префиксом через именованные флаги
2.5
Итоговая стоимость заказа
Посчитайте финальную сумму заказа из цены, количества, доставки и скидки с разумными значениями по умолчанию
Декомпозиция: маленькие функции
урок · 35 мин · объяснение, код и проверка по шагам
3.1
Длительность мм:сс
Соберите время ролика в формате мм:сс из двух хелперов — целых минут и остатка секунд
3.2
Нормализация тега
Приведите тег статьи к единому виду через цепочку хелперов: обрезка, схлопывание пробелов, нижний регистр, дефисы
3.3
Оценка надёжности пароля
Соберите индикатор weak/medium/strong из трёх предикатов-требований к паролю
3.4
Итоги заказа с налогом
Соберите чек заказа из хелперов: сумма позиций, налог и итог в одном словаре
3.5
Генерация логина
Соберите логин из имени и числа через три хелпера: первое слово, очистка от лишних символов и сборка
Таблицы диспетчеризации: действие по ключу
урок · 30 мин · объяснение, код и проверка по шагам
4.1
Калькулятор операций
Выберите арифметическую операцию по строковому ключу через словарь-таблицу, отвергая неизвестную операцию
4.2
Маршрутизация заявки
По категории тикета верните команду из словаря-таблицы, а неизвестную категорию направьте в support
4.3
Стоимость доставки
Считайте стоимость доставки по способу через таблицу ставок, отклоняя неизвестный способ
4.4
Буквенная оценка
Переведите балл 0–100 в букву A–F по таблице порогов сверху вниз, отвергая балл вне диапазона
4.5
Конвертер длины
Переведите длину между мм, см, м и км через один курс в метрах, отклоняя неизвестную единицу
Чистые функции и состояние: кто меняет данные
урок · 35 мин · объяснение, код и проверка по шагам
5.1
Лента последних с лимитом
Добавьте запись в ленту, верните новый список из не более чем limit последних элементов
5.2
Нормировка баллов
Постройте новый словарь долей от лидера, не изменяя исходные баллы
5.3
Счётчик обращений
Соберите объект с состоянием: считайте обращения по ключам и сумму всех — счётчик помнит вызовы между собой
5.4
Функция-счётчик
Соберите make_counter: возвращает функцию, которая помнит своё значение между вызовами
5.5
Бегущий максимум
Постройте список рекордов: для каждой позиции — максимум среди всех чисел до неё включительно
Композиция: функции как данные и конвейеры
урок · 30 мин · объяснение, код и проверка по шагам
6.1
Применить цепочку функций
Прогоните значение через список функций по очереди: результат каждой передаётся следующей
6.2
Отбор по условию
Верните элементы списка, для которых функция-предикат истинна, сохраняя порядок
6.3
Сводка по тексту
Соберите превью комментария: очищенный текст и число слов, переиспользуя два хелпера
6.4
Конвейер с остановкой
Прогоните значение через список шагов, остановившись на первом, вернувшем None, и сообщите число применённых шагов
6.5
Композиция двух функций
Соберите из двух функций одну: compose2(f, g) возвращает функцию, вычисляющую f(g(x))
полный доступ Платные модули этого курса входят в Premium. Условия подписки можно посмотреть на странице тарифов. от 490 ₽ / мес посмотреть тарифы первые 5 задач — бесплатно, без карты
первый шаг в этом курсе

Начни с задачи «Приветствие пользователя»

После регистрации откроется курс «Python: функции и организация кода». Начни с модуля «Основы функций»: редактор и проверка доступны на странице задачи.

5 задач бесплатно

начать бесплатно

После регистрации курс откроется в приложении.

другие курсы и сборники на этом языке