Обрабатывай заказы, очищай данные и собирай небольшие сервисы. Пиши код в браузере: проверка покажет, что получилось, а ИИ-подсказка поможет разобраться с ошибкой.
Одна задача от условия до «решено» — так же, как в редакторе Koddo: открытые примеры, подсказка без спойлеров и скрытые тесты.
01
Условие и заготовка
Каждая задача — кусок настоящего сервиса: слева условие, правила и примеры, в редакторе — заготовка функции. Устанавливать Python не нужно, пишешь сразу в браузере.
начальные задачи бесплатны и помечены по уровню
справочник по теме — во вкладке рядом с условием
Ctrl+Enter запускает код
Python: функции/Основы функцийпрогресс 2/5
описаниесправочник
Совершеннолетие легко
Напишите функцию is_adult(age), которая принимает возраст в полных годах и возвращает булево значение — достиг ли человек совершеннолетия.
правила
Верните True, если возраст 18 или больше.
Граница включительная: ровно 18 — это уже True, а 17 — ещё False.
solution.py
1defis_adult(age):
2"""Сообщает, достиг ли возраст совершеннолетия."""
3passreturn age > 18
запуск на примерахзапустить кодпроверить решение
нажми «запустить код»
02
Проверка на примерах
«запустить код» прогоняет открытые тесты из условия. У каждого кейса видно, что подали на вход, что вывела программа и что ожидалось, — не совпало, и сразу ясно где.
примеры можно гонять сколько угодно
запуски и консоль — во вкладках под кодом
print() печатает в консоль и не мешает проверке
Python: функции/Основы функцийпрогресс 2/5
solution.py
1defis_adult(age):
2"""Сообщает, достиг ли возраст совершеннолетия."""
3return age > 18
запуск на примерахзапустить кодпроверить решение
тест-кейсрезультатызапускиконсоль
case_01пока не совпало
ввод
{ "age": 18 }
вывод программы
False
ожидалось
True
case_02совпало
case_03совпало
case_04совпало
case_05совпало
03
Подсказка, а не готовый ответ
ИИ-помощник видит условие, твой код и результаты запуска. Он подскажет, куда смотреть и что проверить, но решение пишешь сам.
ответ помощника — 1 кредит
бесплатно — 10 кредитов в месяц, с Premium — 150
если совсем не идёт — «посмотреть решение»
Python: функции/Основы функцийпрогресс 2/5
solution.py
1defis_adult(age):
2"""Сообщает, достиг ли возраст совершеннолетия."""
3return age >>=18
case_01 · пока не совпалозапустить код
AI-помощник
привет, я рядом с твоей задачей
почему не проходит case_01?
Посмотри на кейс с 18: функция вернула False, а по правилам ровно 18 — уже True.Какой оператор сравнения считает и само число?
спроси что-нибудь…
решения пишешь сам
04
Скрытые тесты и следующая задача
«проверить решение» отправляет код на скрытые тесты: границы, ноль, ловушки, о которых предупреждает условие. Прошли все — задача решена, прогресс и XP в аккаунте, а следующая задача модуля открывается одной кнопкой.
проверка идёт на сервере, Python 3.11
гость решает без регистрации — аккаунт сохранит попытку
входы скрытых тестов не показываются: подогнать ответ не выйдет
Python: функции/Основы функцийрешено прогресс 2/5
solution.py
1defis_adult(age):
2"""Сообщает, достиг ли возраст совершеннолетия."""
3return age >= 18
проверяем на скрытых тестах…задача решенадальше: Цена со скидкой
решение засчитано
Сохрани прогресс: аккаунт запомнит решённую задачу, начислит XP и откроет следующую.
тест-кейсрезультаты 10/10запускиконсоль
test_01
test_02
test_03
test_04
test_05
test_06приватный
test_07приватный
test_08приватный
test_09приватный
test_10приватный
Что именно проверяет тренажёр
Решение запускается на сервере Koddo в изолированном контейнере с Python 3.11. Устанавливать ничего не нужно: код пишешь в редакторе в браузере, результат проверки появляется рядом с ним.
У каждой задачи два набора тестов. Открытые — это примеры из условия: на них удобно проверять код, пока пишешь. Скрытые проверяют краевые случаи — например, ноль, большие числа, строки с пробелами и ловушки, о которых предупреждает условие. Их входные данные не показываются, видны только статус теста и тип ошибки. Поэтому подогнать ответ под примеры не выйдет: решение должно работать на любых допустимых данных.
В большинстве задач ты пишешь функцию: тесты вызывают её с разными аргументами и сравнивают возвращаемое значение. В задачах на классы проверяется поведение объектов, а в проектах — модули, из которых складывается программа. Первые задачи для начинающих — короткие скрипты: там сравнивается напечатанный вывод, символ в символ. Засчитывается любой способ решения, если все тесты пройдены.
Программа: от первых функций до ООП и алгоритмов
8 курсов, 6 сборников и 485 задач; бесплатно — 89. В каждом курсе первый модуль бесплатный, в каждом сборнике — первая тема; дальше — подписка Premium или покупка курса целиком за кредиты.
Каждый курс и сборник раскрывается в список своих разделов и задач — так до регистрации видно, что именно ты
будешь решать. Бесплатные разделы отмечены.
Python для начинающих 13 модулей · 84 задачи
Первые шаги9 задач бесплатно
01Сумма позиции в корзине
02Приветствие в баннере
03Очистка логина
04Строка заказа
05Процент прогресса
06Первая функция: сумма позиции
07Инициалы для аватарки
08Рейтинг звёздами
09Свободные места
Условия6 задач бесплатно
10Стоимость доставки
11Категория билета
12Сила пароля
13Право опубликовать пост
14Дней в месяце
15Решение по возврату
Циклы8 задач бесплатно
16Бегущее среднее задержки
17Счётчик активных пользователей
18Закупка под лимит бюджета
19Самая длинная зелёная серия
20Поток событий до лимита
21Первый упавший шаг
22Пачки в один список
23Самая длинная пауза между пингами
Проверки и ошибки8 задач Premium
24Оценка за тест
25Проверка пароля
26Маршрутизация обращения
27Стоимость доставки
28Валидация формы регистрации
29Количество из формы
30Незаполненные обязательные поля
31Номер страницы из ссылки
Числа8 задач Premium
32Деление счёта поровну
33Скидка с потолком
34Копейки в рубли строкой
35Округление до шага
36Баланс кошелька с потолком
37НДС, входящий в цену
38Средняя оценка по звёздам
39Плата за парковку
Строки8 задач Premium
40Нормализация логина
41Маскирование email
42Обрезка текста по словам
43Заголовок в title case
44Проверка URL-слага
45Дни в правильной форме
46Общий корень путей
47Из camelCase в snake_case
Форматирование данных7 задач Premium
48Форматирование телефона
49Конвертер температуры
50Маскирование номера карты
51Slug из заголовка статьи
52Размер вложения
53Номер заказа с контрольной цифрой
54Изменение метрики
Списки7 задач Premium
55Дедупликация событий
56Батчи задач
57Топ по очкам
58Слияние лент
59Очередь дежурств по кругу
60Сводка роста подписчиков
61Доехавшие и недоехавшие отправления
Словари5 задач Premium
62Счётчик событий
63Обращение ролей
64Слияние настроек
65Отчёт по продажам
66Лимит тарифа с запасным значением
Текст5 задач Premium
67Разбор строки конфига
68Извлечение упоминаний
69Перечисление имён
70Подстановка в шаблон
71Перенос текста по ширине
Коллекции4 задачи Premium
72Фильтр активных пользователей
73Сортировка таблицы лидеров
74Общие интересы двух пользователей
75Сводка заказов по клиентам
Мини-задачи4 задачи Premium
76Разделить счёт с чаевыми
77Таблица лидеров
78Проверка формы заказа
79Сводка расходов за месяц
Даты и время5 задач Premium
80Форматирование длительности
81Парсинг времени
82Длительность между временами
83Рабочие часы
84Прибавление минут
Python: продвинутая практика 19 тем · 92 задачи
Основной блок4 задачи бесплатно
01Длительность для людей
02Разбор длительности
03Лимитер запросов
04Версия релиза
Продвинутый блок5 задач Premium
05Вычисление фич-флага
06LRU-кэш с вытеснением
07Парсер поискового фильтра
08Стек с минимумом
09Слияние временных окон
Движок биллинга5 задач Premium
10Пересчёт при смене тарифа
11Идемпотентное списание
12Списание из корзин кредитов
13Даты расчётного цикла
14Кампания дожима платежа
Надёжность5 задач Premium
15Размыкатель цепи
16Повторы с отступом
17Бюджет дедлайна
18Деградация ответа
19Вердикт здоровья с гистерезисом
Согласованность5 задач Premium
20Хранилище с версиями
21Разгребание исходящей очереди
22Возобновляемый бэкфилл
23Слияние конкурирующих правок
24Сверка реестров
Наблюдаемость5 задач Premium
25Перцентили задержек
26Кардинальность меток
27Семплер трейсов
28Скорость по окну
29Правила алертов
Безопасность5 задач Premium
30Области путей
31Проверка токена
32Секреты в логах
33Защита входа от перебора
34Заголовок авторизации
Справедливая доля5 задач Premium
35Доля по весам
36Карусель с накоплением
37Старение приоритетов
38Приём по дедлайнам
39Переборки в общем пуле
Пропускная способность5 задач Premium
40Сброс нагрузки с гистерезисом
41Пачки по размеру или возрасту
42Склейка запросов в полёте
43Выдача устаревшего при обновлении
44Адаптивный предел одновременных запросов
Потоки данных5 задач Premium
45Слияние отсортированных источников
46Отсев повторов по окну
47Витрина лучших из потока
48Частые ключи в ограниченной памяти
49Резервуарная выборка
Время и расписания5 задач Premium
50Часы SLA по рабочему календарю
51Расписание через перевод часов
52Ежемесячное правило повторения
53Выровненные окна отчётности
54Разбор и сопоставление cron
Тексты и форматы5 задач Premium
55Разбор CSV с кавычками
56Каноническая форма для подписи
57Слоёные настройки с происхождением
58Экранирование по месту вставки
59Человеко-читаемые размеры
Границы процесса5 задач Premium
60Разбор командной строки
61Атомарная замена файла
62Владение на срок с номером
63Остановка со сливом
64Коды возврата
Графы зависимостей5 задач Premium
65Устойчивый порядок сборки
66Обратное влияние изменения
67Разрешение версий
68Критический путь сборки
69Клубки зависимостей
Доступ и политики5 задач Premium
70Запрет перебивает разрешение
71Делегирование не расширяет доступ
72Скоуп внутри скоупа, а не строка в строке
73Аудит, который не теряет отказы
74Условие политики читается не слева направо
Миграции и совместимость5 задач Premium
75Цепочка миграций без пропусков
76Запись, которая не затирает чужое
77Откат — это не тот же список задом наперёд
78Переименование не должно съесть соседнее поле
79drop и add вместо rename стирают колонку
Ресурсы и их освобождение5 задач Premium
80Выход из блока не должен глотать исключение
81Уборка не должна прятать ошибку, из-за которой началась
82Внутренний откат отменяет и внешний коммит
83Потребитель ушёл раньше — источник всё равно закрыт
84Вложенный вызов не должен угнать чужой ресурс
Конкурентность5 задач Premium
85Сбой одной задачи не должен унести остальные
86Отмена — не обычная ошибка
87Победитель гонки обязан выключить остальных
88Пропуск не должен побывать ничьим
89Слить потоки — не значит прочитать их по очереди
Шардирование3 задачи Premium
90Добавили узел — переехало всё
91Три реплики на одной машине — это одна реплика
92Владелец переполнен — ключ идёт дальше по кольцу
Python: функции и организация кода 6 модулей · 30 задач
Основы функций5 задач бесплатно
01Приветствие пользователя
02Совершеннолетие
03Цена со скидкой
04Модуль разницы
05Зажать в диапазон
Аргументы и значения по умолчанию5 задач Premium
06Приветствие с настройкой
07Сборка URL-пути
08Имя и фамилия
09Метка с флагами
10Итоговая стоимость заказа
Декомпозиция5 задач Premium
11Длительность мм:сс
12Нормализация тега
13Оценка надёжности пароля
14Итоги заказа с налогом
15Генерация логина
Таблицы диспетчеризации5 задач Premium
16Калькулятор операций
17Маршрутизация заявки
18Стоимость доставки
19Буквенная оценка
20Конвертер длины
Чистые функции и состояние5 задач Premium
21Лента последних с лимитом
22Нормировка баллов
23Счётчик обращений
24Функция-счётчик
25Бегущий максимум
Композиция и pipeline5 задач Premium
26Применить цепочку функций
27Отбор по условию
28Сводка по тексту
29Конвейер с остановкой
30Композиция двух функций
Telegram-бот «Ритм» 5 модулей · 23 задачи
Разбор команд5 задач бесплатно
01Разбор команды
02Каноническое имя привычки
03Дата из аргумента команды
04Аргументы отметки
05Таблица команд
Журнал отметок5 задач Premium
06Отметка за день
07Обход дней периода
08Отметки по неделям
09Статистика за период
10Книга привычек
Серии5 задач Premium
11Серия как значение
12Текущая серия
13Личный рекорд
14Серия с заморозками
15Привычки под угрозой
Сводки5 задач Premium
16Дата по-человечески
17Русская плюрализация
18Карточка привычки
19Тепловая карта месяца
20Утренний дайджест
Бот3 задачи Premium
21Разбор апдейта
22Состояние чатов
23Бот «Ритм» целиком
Поисковый движок «Искра» 5 модулей · 25 задач
Текстовый пайплайн5 задач бесплатно
01Токенизатор текста
02Фильтр стоп-слов
03Лёгкий стеммер
04Конвейер обработки текста
05Очистка корпуса документов
Инвертированный индекс5 задач Premium
06Булевы постинги
07Частотные постинги
08Позиционный индекс
09Слияние шардов индекса
10Статистика индекса
Движок запросов5 задач Premium
11Пересечение постингов
12Булев запрос
13Фразовый поиск
14Парсер поискового запроса
15Исполнение запроса
Ранжирование релевантности5 задач Premium
16Вес редкости терма (IDF)
17TF-IDF скор документа
18Ранжирование выдачи
19Поля с разным весом
20Пагинация выдачи
Поисковый опыт5 задач Premium
21Сниппет результата
22Подсветка совпадений
23Похожие термы
24Подсказка «возможно, вы имели в виду»
25Сборка движка: search()
Python: валидация данных 2 темы · 5 задач
Поля формы4 задачи бесплатно
01Проверка адреса почты
02Слабые места пароля
03Проверка IPv4
04Контроль номера карты (Луна)
Композиция проверок1 задача Premium
05Проверка формы заказа
Домашняя бухгалтерия «Копилка» 5 модулей · 25 задач
Записи расходов5 задач бесплатно
01Сумма без float
02Заметка без мусора
03Фейс-контроль строки
04Три поля
05Запись целиком
Правила категорий5 задач Premium
06Ключ в заметке
07Первое правило побеждает
08Запись с категорией
09Ревизия правил
10Конвейер импорта
Отчеты за период5 задач Premium
11Только этот месяц
12Сколько потрачено
13Разрез по категориям
14Средние траты в день
15Отчёт месяца
Лимиты бюджета5 задач Premium
16Остаток и процент
17Светофор бюджета
18Список нарушителей
19Строка алерта
20Сводка алертов
Ежемесячный дайджест5 задач Premium
21Лидер месяца
22Самая крупная трата
23Заголовок дайджеста
24Рост или экономия
25Дайджест целиком
Python: ООП 5 тем · 25 задач
Анатомия класса5 задач бесплатно
01Подарочная карта
02Комнатное растение
03Парковочное место
04Рецепт на компанию
05Билет на поезд
Состояние и методы5 задач Premium
06Умная бутылка
07Табло настолки
08Очередь печати
09Читательский билет
10Автомат напитков
Наследование и композиция5 задач Premium
11Грейд старшего
12SMS-канал
13Счётчик с журналом
14Состав команды
15Прокат техники
Dunder-протоколы5 задач Premium
16Ключ от шкафчика
17Клип в монтажке
18Уровень лояльности
19Рюкзак похода
20Деньги как объект
Прикладные классы5 задач Premium
21Вопрос викторины
22Локальная хранилка
23Книжный клуб
24Склад мастерской
25Таблица аркады
Python: функции и идиомы 5 тем · 25 задач
Гибкие сигнатуры5 задач бесплатно
01Заказ у бариста
02Донаты марафона
03Адрес запроса к API
04Строка лога
05Настройки запуска
Замыкания и область видимости5 задач Premium
06Нумератор талонов
07Конструктор акций
08Штамп пересменки
09Правило анкеты
10Номера заказов пекарни
Декораторы функций5 задач Premium
11Счётчик вызовов трекера
12Шлюз без минусов
13Кэш последнего прогноза
14Фильтр пустых отзывов
15Смоук-прогон обработчиков
Генераторы и итераторы5 задач Premium
16Отсчёт до старта
17Страницы ленты
18Баланс после операции
19Фильтр событий офиса
20Траты в пределах бюджета
Функциональные идиомы5 задач Premium
21Витрина «Премиум»
22Индекс по артикулу
23Порядок на спринт-борде
24Конвейер уценки
25Дайджест продаж
Python: структуры данных 5 тем · 25 задач
Стеки и очереди5 задач бесплатно
01Печать с Backspace
02Сбалансированные скобки
03Очередь печати
04Пик нагрузки в окне
05Недавно просмотренные
Хеш-индексы5 задач Premium
06Частоты тегов
07Группировка по городу
08Первый уникальный посетитель
09Общие навыки
10Обратный индекс
Приоритетный порядок5 задач Premium
11Топ результатов лидерборда
12Самые короткие джобы вперёд
13Разбор тикетов по приоритету
14Слияние отсортированных потоков
15Текущая медиана цены
Деревья5 задач Premium
16Полный размер папки
17Глубина оргструктуры
18Комментарии по уровням
19Путь до статьи
20Исходы дерева решений
Графы5 задач Premium
21Достижимые сервисы
22Рукопожатия от источника
23Кратчайший маршрут
24Обнаружение циклического импорта
25Порядок установки пакетов
Служба доставки «Вектор» 5 модулей · 25 задач
Граф города5 задач бесплатно
01Карта смежности
02Дороги района
03Соседи в радиусе
04Доедет ли курьер
05Зона покрытия
Поиск маршрутов5 задач Premium
06Карта времени в пути
07Перегоны между районами
08Быстрейшее время доставки
09Маршрут в объезд
10Быстрейший маршрут
Очередь заказов5 задач Premium
11Очередь по приоритету
12Следующий заказ
13Открытые окна доставки
14Просроченные заказы
15План выдачи на смену
Загрузка курьеров5 задач Premium
16Вес сумки курьера
17Влезет ли в сумку
18Жадная загрузка сумки
19Лучшая пара заказов
20Два курьера на смене
План дня5 задач Premium
21Крайнее время выезда
22Расписание прибытий
23Доставки в окно
24Отчёт за день
25План дня
Продуктовая аналитика «Пульс» 5 модулей · 25 задач
Поток событий5 задач бесплатно
01Разбор потока событий
02Фильтр событий по типу
03Сортировка событий по времени
04События во временном окне
05Чистый поток событий
Сборка сессий5 задач Premium
06Разбиение на сессии
07Длительность сессии
08Сессии по пользователям
09Самый длинный визит
10Сводный отчёт по сессиям
Анализ воронки5 задач Premium
11Достижение шага воронки
12Счётчики шагов воронки
13Конверсия между шагами
14Ступенька наибольшего оттока
15Сборка отчёта по воронке
Когорты удержания5 задач Premium
16День первого визита
17Когорта пользователя
18Возврат в заданный день
19Удержание когорты
20Таблица удержания
Отчет по эксперименту5 задач Premium
21Метрика по варианту
22Среднее по вариантам
23Перцентиль методом ближайшего ранга
24Сравнение вариантов
25Сборка A/B-отчёта
Python: тематическая практика 11 тем · 51 задача
Строки8 задач бесплатно
01Нормализация телефона
02Парсер логов по шаблону
03Флаги релиза
04Маскирование email-адреса
05Нормализация пути ресурса
06Общие навыки
07Slug урока
08Окно релиза
Числа5 задач Premium
09Расчёт парковочного чека
10Ступенчатый биллинг потребления
11Баллы за возврат
12План рассрочки в копейках
13Блоки хранилища
Списки5 задач Premium
14Склейка занятых интервалов
15Упаковка доставок в рейсы
16Свёртка кликов
17Дедупликация остановок курьера
18Батчи событий
Словари6 задач Premium
19Сводка складских остатков
20Матрица прав доступа
21Настройки пользователя
22Сводка прогресса по курсу
23Окна активности
24Сводка по функциям
Сортировка5 задач Premium
25Приоритизация обращений
26Ранжирование A/B-вариантов
27Очередь уроков
28Ранжирование баг-репортов
29Рейтинг ревьюеров
Булева логика4 задачи Premium
30Окно обслуживания
31Окно дайджеста
32Доступ к пробному периоду
33Доступ к ответу на форуме
Временные окна3 задачи Premium
34Слоты напоминаний
35Слияние тихих часов
36Свободные окна для бронирования
Валидация4 задачи Premium
37Проверка импортируемых строк
38Проверка вебхуков
39План миграции
40Модерация отзывов
Конечные автоматы3 задачи Premium
41Статусы заказа
42Жизненный цикл подписки
43Аудит переходов тикета
Анализ текста3 задачи Premium
44Индекс n-грамм
45Плотность ключевых слов
46Оценка поисковых сниппетов
Алгоритмы5 задач Premium
47Лента комментариев
48Соседние алерты
49Порядок модулей
50Цикл в графе пререквизитов
51Политика доступа
Планировщик «Конвейер» 5 модулей · 25 задач
Реестр задач5 задач бесплатно
01Создание задачи
02Добавление задачи в реестр
03Поиск задачи по id
04Статус задачи по id
05Сборка реестра из спеков
Граф зависимостей5 задач Premium
06Зависимости задачи
07Готова ли задача к запуску
08Готовые к запуску задачи
09Топологический порядок задач
10Обнаружение цикла в графе
Политики повторов5 задач Premium
11Задержка перед повтором
12Решение о повторе
13Время следующего повтора
14Применение повтора
15Политика повторов
Cron-расписание5 задач Premium
16Запуск на минуте
17Следующий запуск
18Минут до запуска
19Просроченные задачи
20Сборка расписания
Тик планировщика5 задач Premium
21Допустимость перехода статуса
22Перевод задачи в новый статус
23Задачи, готовые к запуску
24Один тик планировщика
25Прогон планировщика до конца
Что бесплатно, а что в Premium
В каждом курсе первый модуль бесплатный, в каждом сборнике — первая тема, а в «Python для начинающих» бесплатны первые три модуля — 23 задачи на ввод и вывод, условия и циклы. Первую задачу можно решить без регистрации; аккаунт нужен, чтобы сохранить решение и продолжить курс. Карта не нужна.
Остальные задачи открывает подписка Premium за 490 ₽ в месяц. Если нужен один курс или сборник, его можно купить целиком за 299 кредитов — он останется открытым навсегда. ИИ-подсказки расходуют кредиты: на бесплатном тарифе их 10 в месяц. Полные условия — на странице тарифов.
Кому подходит тренажёр
Тем, кто знает синтаксис и хочет его закрепить. Курс «Python для начинающих» — 84 задачи от первых строк кода до условий, циклов, текста и коллекций, все на прикладных сценариях.
Тем, кто знает основы и хочет прикладных задач. Курс «Функции и организация кода», сборники «Структуры данных» и «ООП» — прикладные задачи на то, что пишут каждый день: декомпозиция на функции, стеки, очереди и словари, классы с инвариантами.
Тем, кто хочет собрать проект, а не решать разрозненные задачи. В проектах задачи складываются в работающую программу: Telegram-бот «Ритм», поисковый движок «Искра», учёт финансов «Копилка», аналитика «Пульс».
Если ещё не писал код — начни с уроков Python с нуля: тренажёр не объясняет синтаксис, а проверяет решения.
Как решать задачу: разбор на примере
Возьмём задачу «Строка заказа» из бесплатного модуля «Первые шаги». Программа читает три строки — товар, количество и цену — и печатает подтверждение заказа: для ввода Чай, 2, 149 это «Чай, 2 шт., итого 298 руб.». В редакторе уже есть заготовка: она читает название и количество и печатает начало строки.
name = input()
quantity = int(input())
# Третья строка ввода — цена за штуку.
print(f"{name}, {quantity} шт.")
# Если ввели Чай, 2 и 149, программа должна напечатать: Чай, 2 шт., итого 298 руб.
Цену читаем так же, как количество, — через int(): input() всегда возвращает строку, и без int() вместо 298 получится 149149 — Python просто повторит строку дважды.
Итог считаем прямо в f-строке: в фигурные скобки можно поставить не только переменную, но и выражение quantity * price.
Знаки сверяем с примером символ в символ: запятая и пробел после названия и после «шт.», точка после «руб». Вывод сравнивается как строка, поэтому лишний пробел — уже другой ответ.
Открытых тестов 2 — это примеры из условия. Скрытых 7, и каждый ловит свою типичную ошибку:
нулевая цена даёт итог 0 руб.
большой итог пишется без разделителей тысяч
название с пробелом вставляется целиком
после названия и после «шт.» стоят запятая и пробел, слово «итого» перед суммой
итог — произведение, а не цена за штуку
после «шт» и «руб» стоит точка, перед «руб.» — один пробел
вторая строка — количество, третья — цена, а не наоборот
Если скрытый тест не прошёл, перечитай условие: чаще всего ответ в нём. Не помогло — спроси ИИ-ассистента. Он видит условие, твой код и результаты проверки и подсказывает направление, не выдавая готовое решение.
Чем тренажёр отличается от песочницы и уроков?
В песочнице можно свободно запускать свой код. В тренажёре есть условие задачи, проверка результата и сохранение прогресса.
Уроки ведут за руку по теории шаг за шагом, тест навыков показывает уровень до старта. Тренажёр — это сама практика: выбираешь задачу и решаешь.
Уроки Python с нуля — объяснения и небольшие задания для тех, кто ещё не писал код
Если переменные, условия и циклы уже знакомы — да: начни с курса «Python для начинающих»: бесплатных задач в нём — 23. Если код ещё не писал, сначала пройди уроки Python с нуля: они объясняют синтаксис до первого задания.
Что входит в бесплатную часть?
Первый модуль каждого курса и первая тема каждого сборника, а в «Python для начинающих» — первые три модуля, задач в них — 23. Остальное открывает подписка Premium или покупка курса целиком за 299 кредитов.
Нужно ли что-то устанавливать?
Нет. Пиши и проверяй код в редакторе на странице задачи — достаточно браузера.
Как проверяются решения?
Проверка запускает код на примерах из условия и на дополнительных данных. Результат покажет, какие случаи работают, а где нужно поправить решение.
Что делать, если застрял?
Позвать ИИ-ассистента: он подсказывает направление, объясняет ошибки и разбирает задачу по шагам, но не выдаёт готовое решение — решаешь всё равно ты.
Что после тренажёра?
Проверить себя тестом по Python и пройти мок-собеседование: AI-интервьюер задаёт вопросы и даёт задачи, как живой.