учебный путь · python

Python для начинающих

  • Python
  • Начинающий
  • 13 модулей
  • 57 задач
  • 12 задач · бесплатно до модуля 3 из 13

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

AI-ассистент ведёт подсказками, но решение не выдаёт
intro

Что тебя ждёт в этом пути

Автор программы:

Что ты построишь

57 решений на Python, собранных в 13 паков: от первой строки кода до словарей, дат и мини-задач на стыке тем. Начнёшь с суммы позиции в корзине и приветствия по шаблону, дойдёшь до валидатора формы регистрации и таблицы лидеров с рангами. Три первых пака, «Первые шаги», «Условия» и «Циклы», открыты бесплатно, остальные десять премиум. Каждую задачу решаешь и запускаешь прямо в браузере, ничего не устанавливая, а судья проверяет результат на скрытых входных данных.

Для кого

Для того, кто пишет на Python первую сотню строк и раньше не проходил дальше туториала. Уровень пути easy: задачи держат один шаг сложности за раз, без прыжков в незнакомый синтаксис. Если условия, циклы и списки для тебя пока не автоматизм, это стартовая точка.

Что нужно знать до старта

  • Опыт программирования не нужен
  • Достаточно уметь пользоваться браузером и читать условия задач на русском

Чему научишься

  • Писать условные ветки с точными границами вместо интуитивных прикидок
  • Проходить списки циклами и накапливать результат без побочных эффектов
  • Отличать отсутствующий ключ словаря от пустого значения и обрабатывать оба случая
  • Обрабатывать пользовательский ввод с валидацией и понятными кодами ошибок
  • Форматировать числа, деньги и телефоны по фиксированным правилам вывода
  • Разбирать и собирать строки без регулярных выражений: срезы, split, join
  • Собирать простые отчёты из списков словарей: суммы, счётчики, группировки
curriculum

Задачи пути — 13 модулей, 57 задач

Каждый модуль — навык. Решаешь задачи по порядку, и к финалу из них собирается рабочий результат.

57 задач · 13 модулей
1.1
Сумма позиции в корзине
Верните сумму по строке корзины: цена, умноженная на количество штук
1.2
Приветствие в баннере
Соберите строку приветствия ровно вида «Привет, <имя>!», вставив имя как передано
1.3
Очистка логина
Очистите введённый логин от крайних пробельных символов и приведите к нижнему регистру
1.4
Строка заказа
Соберите строку подтверждения заказа с количеством и итогом, посчитанным при подстановке
2.1
Стоимость доставки
Верните стоимость доставки по сумме заказа: от 1500 включительно — бесплатно, иначе 199
2.2
Категория билета
Определите категорию билета по возрасту: до 7 — детский, 7–17 и от 60 — льготный, 18–59 — взрослый
2.3
Сила пароля
Оцените пароль по длине: до 8 символов — слабый, до 12 — средний, от 12 — сильный
3.1
Бегущее среднее задержки
Постройте список средних значений задержки после каждого нового замера
3.2
Счётчик активных пользователей
Посчитайте, сколько сессий заходило не дольше чем N дней назад
3.3
Закупка под лимит бюджета
Набирайте заявки по порядку, пока хватает бюджета, и верните что взяли и сколько потратили
3.4
Самая длинная зелёная серия
Найдите длину самой длинной непрерывной серии успешных сборок
3.5
Поток событий до лимита
Лениво выдавайте события из потока, пока их суммарная стоимость не превысит лимит
4.1
Оценка за тест
Переведите числовой балл 0–100 в буквенную оценку A–F по фиксированным порогам, отклоняя балл вне диапазона
4.2
Проверка пароля
Проверьте пароль против набора правил и верните список кодов невыполненных требований в фиксированном порядке
4.3
Маршрутизация обращения
Определите очередь поддержки по ключевым словам в тексте обращения; побеждает первое правило по приоритету
4.4
Стоимость доставки
Посчитайте стоимость доставки в копейках по весовому тарифу и надбавке за зону, отклоняя слишком тяжёлую посылку
4.5
Валидация формы регистрации
Проверьте поля формы регистрации и верните список кодов ошибок по невалидным полям в фиксированном порядке
5.1
Деление счёта поровну
Разделите счёт в копейках на N человек так, чтобы сумма долей сошлась с итогом до копейки
5.2
Скидка с потолком
Посчитайте цену со скидкой в копейках: процент с округлением вниз и ограничение максимальной скидки
5.3
Копейки в рубли строкой
Отформатируйте сумму в копейках как «1 234,50 ₽» с разделителем тысяч и знаком
5.4
Округление до шага
Округлите сумму в копейках до ближайшего кратного шагу, ничью округляя вверх
5.5
Баланс кошелька с потолком
Прогоните операции пополнения, списания и комиссии по балансу в копейках с потолком и защитой от ухода в минус
6.1
Нормализация логина
Приведите введённый логин к каноничному виду для хранения, отклоняя пустой и слишком длинный
6.2
Маскирование email
Скройте середину локальной части email для показа в интерфейсе, отклоняя строки без валидного адреса
6.3
Обрезка текста по словам
Обрежьте длинный текст до лимита с многоточием, не разрывая слово посередине
6.4
Заголовок в title case
Приведите английский заголовок к title case, оставляя служебные слова строчными, кроме первого и последнего
6.5
Проверка URL-слага
Проверьте предложенный URL-слаг по правилам длины, символов и дефисов и верните отчёт с кодами ошибок
7.1
Форматирование телефона
Приведите строку из 11 цифр к виду +7 (XXX) XXX-XX-XX, отклоняя невалидный ввод
7.2
Конвертер температуры
Соберите конвертер температуры между c/f/k на словаре-диспетчере с защитой от неизвестной шкалы
7.3
Маскирование номера карты
Скройте все цифры карты, кроме последних четырёх, в виде **** **** **** XXXX, отклоняя невалидный ввод
7.4
Slug из заголовка статьи
Превратите заголовок в URL-slug: транслитерация кириллицы, нижний регистр, слова через дефис
8.1
Дедупликация событий
Уберите повторы из списка идентификаторов, сохранив порядок первых появлений
8.2
Батчи задач
Разрежьте список задач на батчи фиксированного размера; неполный остаток допустим
8.3
Топ по очкам
Отберите n игроков с наибольшим счётом; при равных очках порядок входа сохраняется
8.4
Слияние лент
Слейте два отсортированных потока событий в одну ленту проходом по обоим спискам
9.1
Счётчик событий
Посчитайте, сколько раз встретился каждый тип события в логе, сохранив порядок первого появления
9.2
Обращение ролей
Переверните словарь «пользователь → роль» в «роль → список пользователей» с предсказуемым порядком
9.3
Слияние настроек
Наложите пользовательские настройки поверх значений по умолчанию: при конфликте ключа побеждает переопределение
9.4
Отчёт по продажам
Соберите отчёт по списку продаж: итог, суммы по категориям или лидер — выбор метрики по ключу, неизвестная метрика отклоняется
10.1
Разбор строки конфига
Разберите строку вида key=value в пару (ключ, значение) с обрезкой пробелов и понятной ошибкой на кривой строке
10.2
Извлечение упоминаний
Соберите из текста поста все @упоминания в нижнем регистре, без повторов, в порядке первого появления
10.3
Перечисление имён
Соберите список имён в строку вида «Аня, Боб и Вера»: запятые между всеми, кроме последнего, и « и » перед ним
10.4
Подстановка в шаблон
Подставьте значения из словаря в шаблон по плейсхолдерам {имя}, отклонив шаблон с неизвестным ключом
10.5
Перенос текста по ширине
Разбейте текст на строки не шире N символов, перенося по пробелам и не разрывая слова
11.1
Фильтр активных пользователей
Отберите из списка записей-словарей тех пользователей, у кого active истинно, сохранив порядок
11.2
Сортировка таблицы лидеров
Отсортируйте список игроков по очкам по убыванию, разрешая ничью по имени по алфавиту
11.3
Общие интересы двух пользователей
Найдите теги, которые есть у обоих пользователей, и верните их отсортированным списком без дубликатов
11.4
Сводка заказов по клиентам
Сверните список заказов в словарь «клиент → число заказов и сумма», игнорируя заказы с неположительной суммой
12.1
Разделить счёт с чаевыми
Посчитайте долю каждого гостя от счёта с чаевыми в копейках, раздав остаток первым по списку
12.2
Таблица лидеров
Отсортируйте игроков по очкам и соберите строки таблицы с рангами, где равные очки делят место
12.3
Проверка формы заказа
Соберите валидатор формы из трёх хелперов: верните список ошибок и словарь нормализованных полей
12.4
Сводка расходов за месяц
Соберите из записей о тратах сводку: сумма, разбивка по категориям и крупнейшая категория
13.1
Форматирование длительности
Переведите количество секунд в строку вида MM:SS или H:MM:SS
13.2
Парсинг времени
Разберите строку 'HH:MM' в количество минут от полуночи, отклоняя невалидный формат
13.3
Длительность между временами
Вычислите разницу в минутах между двумя строками 'HH:MM' в рамках одного дня
13.4
Рабочие часы
Проверьте, попадает ли время 'HH:MM' в указанную именованную рабочую смену
13.5
Прибавление минут капстоун
Прибавьте N минут к времени 'HH:MM' с перемоткой через полночь
Путь входит в Koddo Premium Открой все премиум-пути, AI-ассистента без лимитов и daily challenge. от 490 ₽ / мес
koddo start python-for-beginners

Готов начать этот путь?

Зарегистрируйся — откроем путь прямо на первой задаче. Без установки и настройки, всё в браузере.