курс · Python

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

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

Для старта: Опыт программирования не нужен

  • Python
  • 13 модулей
  • 13 уроков
  • 84 задачи
  • 23 задачи бесплатно

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

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

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

Автор программы:
  • Писать условные ветки с точными границами вместо интуитивных прикидок
  • Проходить списки циклами и накапливать результат без побочных эффектов
  • Отличать отсутствующий ключ словаря от пустого значения и обрабатывать оба случая
подробнее о задачах и навыках

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

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

Для кого

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

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

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

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

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

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

84 задачи · 13 модулей

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

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

  1. 01 Знакомство: print, переменные и input 10 мин бесплатно
  2. 02 Калькулятор скидки: функции def и return 15 мин бесплатно
  3. 03 Камень, ножницы, бумага: условия if и elif 15 мин бесплатно
  4. 04 Угадай число: циклы for и range 10 мин бесплатно
  5. 05 Проверки и ошибки: списки, raise, isinstance 25 мин Premium
  6. 06 Числа и деньги: //, % и копейки 25 мин Premium
  7. 07 Строки: методы, срезы, split и join 35 мин Premium
  8. 08 Форматирование: f-строки и вид числа 40 мин Premium
  9. 09 Списки: изменяемость, срезы и сортировка 35 мин Premium
  10. 10 Словари: ключ, значение и счётчики 35 мин Premium
  11. 11 Разбор текста: while, break и кортежи 35 мин Premium
  12. 12 Коллекции: включения, sorted с ключом, множества 35 мин Premium
  13. 13 Время: одна единица, счёт, обратно в формат 35 мин Premium
Знакомство: print, переменные и input
урок · 10 мин · объяснение, код и проверка по шагам
Калькулятор скидки: функции def и return
урок · 15 мин · объяснение, код и проверка по шагам
1.1
Сумма позиции в корзине
Верните сумму по строке корзины: цена, умноженная на количество штук
1.2
Приветствие в баннере
Прочитайте имя и напечатайте «Привет, Аня!» — с любым введённым именем
1.3
Очистка логина
Очистите введённый логин от крайних пробельных символов и приведите к нижнему регистру
1.4
Строка заказа
Соберите строку подтверждения заказа с количеством и итогом, посчитанным при подстановке
1.5
Процент прогресса
Прочитайте сданное и общее число задач и напечатайте, на сколько целых процентов пройдена тема
1.6
Первая функция: сумма позиции
Объявите функцию total_price(price, quantity), которая возвращает сумму по строке корзины
1.7
Инициалы для аватарки
Соберите две заглавные буквы из имени и фамилии
1.8
Рейтинг звёздами
Соберите строку рейтинга из закрашенных и пустых звёзд
1.9
Свободные места
Посчитайте, сколько мест осталось, и не уходите в минус
Камень, ножницы, бумага: условия if и elif
урок · 15 мин · объяснение, код и проверка по шагам
2.1
Стоимость доставки
Верните стоимость доставки по сумме заказа: от 1500 включительно — бесплатно, иначе 199
2.2
Категория билета
Определите категорию билета по возрасту: до 7 — детский, 7–17 и от 60 — льготный, 18–59 — взрослый
2.3
Сила пароля
Оцените пароль по длине: до 8 символов — слабый, до 12 — средний, от 12 — сильный
2.4
Право опубликовать пост
Решите, пускать ли пользователя публиковать, по трём признакам
2.5
Дней в месяце
Верните длину месяца, учитывая високосный февраль
2.6
Решение по возврату
Определите исход возврата по сроку и состоянию упаковки
Угадай число: циклы for и range
урок · 10 мин · объяснение, код и проверка по шагам
3.1
Бегущее среднее задержки
Постройте список средних значений задержки после каждого нового замера
3.2
Счётчик активных пользователей
Посчитайте, сколько сессий заходило не дольше чем N дней назад
3.3
Закупка под лимит бюджета
Набирайте заявки по порядку, пока хватает бюджета, и верните что взяли и сколько потратили
3.4
Самая длинная зелёная серия
Найдите длину самой длинной непрерывной серии успешных сборок
3.5
Поток событий до лимита
Лениво выдавайте события из потока, пока их суммарная стоимость не превысит лимит
3.6
Первый упавший шаг
Найдите индекс первого шага, который завершился не успехом
3.7
Пачки в один список
Разверните список пачек задач в один плоский список
3.8
Самая длинная пауза между пингами
Найдите самую длинную паузу между двумя соседними пингами агента
Проверки и ошибки: списки, raise, isinstance
урок · 25 мин · объяснение, код и проверка по шагам
4.1
Оценка за тест
Переведите числовой балл 0–100 в буквенную оценку A–F по фиксированным порогам, отклоняя балл вне диапазона
4.2
Проверка пароля
Проверьте пароль против набора правил и верните список кодов невыполненных требований в фиксированном порядке
4.3
Маршрутизация обращения
Определите очередь поддержки по ключевым словам в тексте обращения; побеждает первое правило по приоритету
4.4
Стоимость доставки
Посчитайте стоимость доставки в копейках по весовому тарифу и надбавке за зону, отклоняя слишком тяжёлую посылку
4.5
Валидация формы регистрации
Проверьте поля формы регистрации и верните список кодов ошибок по невалидным полям в фиксированном порядке
4.6
Количество из формы
Превратите значение поля «количество» в целое число или отклоните ввод
4.7
Незаполненные обязательные поля
Соберите имена обязательных полей формы, которые остались незаполненными
4.8
Номер страницы из ссылки
Превратите параметр page из ссылки в номер существующей страницы
Числа и деньги: //, % и копейки
урок · 25 мин · объяснение, код и проверка по шагам
5.1
Деление счёта поровну
Разделите счёт в копейках на N человек так, чтобы сумма долей сошлась с итогом до копейки
5.2
Скидка с потолком
Посчитайте цену со скидкой в копейках: процент с округлением вниз и ограничение максимальной скидки
5.3
Копейки в рубли строкой
Отформатируйте сумму в копейках как «1 234,50 ₽» с разделителем тысяч и знаком
5.4
Округление до шага
Округлите сумму в копейках до ближайшего кратного шагу, ничью округляя вверх
5.5
Баланс кошелька с потолком
Прогоните операции пополнения, списания и комиссии по балансу в копейках с потолком и защитой от ухода в минус
5.6
НДС, входящий в цену
Посчитайте сумму НДС, которая уже входит в цену, с округлением половин вверх
5.7
Средняя оценка по звёздам
Посчитайте среднюю оценку из счётчиков по звёздам, обрезая её до одного знака
5.8
Плата за парковку
Посчитайте плату за стоянку: начатые часы, потолок за сутки и полные сутки
Строки: методы, срезы, split и join
урок · 35 мин · объяснение, код и проверка по шагам
6.1
Нормализация логина
Приведите введённый логин к каноничному виду для хранения, отклоняя пустой и слишком длинный
6.2
Маскирование email
Скройте середину локальной части email для показа в интерфейсе, отклоняя строки без валидного адреса
6.3
Обрезка текста по словам
Обрежьте длинный текст до лимита с многоточием, не разрывая слово посередине
6.4
Заголовок в title case
Приведите английский заголовок к title case, оставляя служебные слова строчными, кроме первого и последнего
6.5
Проверка URL-слага
Проверьте предложенный URL-слаг по правилам длины, символов и дефисов и верните отчёт с кодами ошибок
6.6
Дни в правильной форме
Соберите строку «N день / дня / дней» по правилам русского счёта
6.7
Общий корень путей
Найдите самый длинный каталог, с которого начинаются все пути сразу
6.8
Из camelCase в snake_case
Переведите имя поля из camelCase в snake_case для колонки базы
Форматирование: f-строки и вид числа
урок · 40 мин · объяснение, код и проверка по шагам
7.1
Форматирование телефона
Приведите строку из 11 цифр к виду +7 (XXX) XXX-XX-XX, отклоняя невалидный ввод
7.2
Конвертер температуры
Соберите конвертер температуры между c/f/k на словаре-диспетчере с защитой от неизвестной шкалы
7.3
Маскирование номера карты
Скройте все цифры карты, кроме последних четырёх, в виде **** **** **** XXXX, отклоняя невалидный ввод
7.4
Slug из заголовка статьи
Превратите заголовок в URL-slug: транслитерация кириллицы, нижний регистр, слова через дефис
7.5
Размер вложения
Переведите размер файла из байтов в КБ, МБ или ГБ с одним знаком после запятой
7.6
Номер заказа с контрольной цифрой
Соберите номер заказа для чека: шесть цифр и контрольная цифра через дефис
7.7
Изменение метрики
Посчитайте изменение метрики в процентах и соберите строку со знаком
Списки: изменяемость, срезы и сортировка
урок · 35 мин · объяснение, код и проверка по шагам
8.1
Дедупликация событий
Уберите повторы из списка идентификаторов, сохранив порядок первых появлений
решить без регистрации
8.2
Батчи задач
Разрежьте список задач на батчи фиксированного размера; неполный остаток допустим
8.3
Топ по очкам
Отберите n игроков с наибольшим счётом; при равных очках порядок входа сохраняется
8.4
Слияние лент
Слейте два отсортированных потока событий в одну ленту проходом по обоим спискам
8.5
Очередь дежурств по кругу
Прокрутите очередь дежурных на несколько позиций; сдвиг бывает больше длины и отрицательным
8.6
Сводка роста подписчиков
Соберите из чисел подписчиков по дням сводку: итоговый прирост, лучший день и число дней падения
8.7
Доехавшие и недоехавшие отправления
Разделите отправления на доехавшие и недоехавшие, сохранив исходный порядок в каждой группе
Словари: ключ, значение и счётчики
урок · 35 мин · объяснение, код и проверка по шагам
9.1
Счётчик событий
Посчитайте, сколько раз встретился каждый тип события в логе, сохранив порядок первого появления
9.2
Обращение ролей
Переверните словарь «пользователь → роль» в «роль → список пользователей» с предсказуемым порядком
9.3
Слияние настроек
Наложите пользовательские настройки поверх значений по умолчанию: при конфликте ключа побеждает переопределение
9.4
Отчёт по продажам
Соберите отчёт по списку продаж: итог, суммы по категориям или лидер — выбор метрики по ключу, неизвестная метрика отклоняется
9.5
Лимит тарифа с запасным значением
Достаньте лимит тарифа из вложенной таблицы, а чего тариф не задал — возьмите из запасного
Разбор текста: while, break и кортежи
урок · 35 мин · объяснение, код и проверка по шагам
10.1
Разбор строки конфига
Разберите строку вида key=value в пару (ключ, значение) с обрезкой пробелов и понятной ошибкой на кривой строке
10.2
Извлечение упоминаний
Соберите из текста поста все @упоминания в нижнем регистре, без повторов, в порядке первого появления
10.3
Перечисление имён
Соберите список имён в строку вида «Аня, Боб и Вера»: запятые между всеми, кроме последнего, и « и » перед ним
10.4
Подстановка в шаблон
Подставьте значения из словаря в шаблон по плейсхолдерам {имя}, отклонив шаблон с неизвестным ключом
10.5
Перенос текста по ширине
Разбейте текст на строки не шире N символов, перенося по пробелам и не разрывая слова
Коллекции: включения, sorted с ключом, множества
урок · 35 мин · объяснение, код и проверка по шагам
11.1
Фильтр активных пользователей
Отберите из списка записей-словарей тех пользователей, у кого active истинно, сохранив порядок
11.2
Сортировка таблицы лидеров
Отсортируйте список игроков по очкам по убыванию, разрешая ничью по имени по алфавиту
11.3
Общие интересы двух пользователей
Найдите теги, которые есть у обоих пользователей, и верните их отсортированным списком без дубликатов
11.4
Сводка заказов по клиентам
Сверните список заказов в словарь «клиент → число заказов и сумма», игнорируя заказы с неположительной суммой
12.1
Разделить счёт с чаевыми
Посчитайте долю каждого гостя от счёта с чаевыми в копейках, раздав остаток первым по списку
12.2
Таблица лидеров
Отсортируйте игроков по очкам и соберите строки таблицы с рангами, где равные очки делят место
12.3
Проверка формы заказа
Соберите валидатор формы из трёх хелперов: верните список ошибок и словарь нормализованных полей
12.4
Сводка расходов за месяц
Соберите из записей о тратах сводку: сумма, разбивка по категориям и крупнейшая категория
Время: одна единица, счёт, обратно в формат
урок · 35 мин · объяснение, код и проверка по шагам
13.1
Форматирование длительности
Переведите количество секунд в строку вида MM:SS или H:MM:SS
решить без регистрации
13.2
Парсинг времени
Разберите строку 'HH:MM' в количество минут от полуночи, отклоняя невалидный формат
13.3
Длительность между временами
Вычислите разницу в минутах между двумя строками 'HH:MM' в рамках одного дня
13.4
Рабочие часы
Проверьте, попадает ли время 'HH:MM' в указанную именованную рабочую смену
13.5
Прибавление минут
Прибавьте N минут к времени 'HH:MM' с перемоткой через полночь
полный доступ Платные модули этого курса входят в Premium. Условия подписки можно посмотреть на странице тарифов. от 490 ₽ / мес посмотреть тарифы первые 23 задачи — бесплатно, без карты
первый шаг в этом курсе

Начни с задачи «Сумма позиции в корзине»

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

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

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

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

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