Задачи по программированию на Python

Задачи, которые можно решить на Python (всего: 226): от первых циклов до графов, динамического программирования и машинного обучения. Пишите код в браузере, сразу запускайте тесты и получайте разбор от ИИ.

Легко · 134 Средне · 68 Сложно · 24

Навыки для практики: ПодсчётВыделение цифрРазбиение строкАрифметикаДвумерные спискиСпискиФормулыЦиклыВложенные циклыГрадиентный спускДва указателяДелимость
  • Python · C++ · C#
  • Автотесты
  • Ревью кода ИИ
  • Решения сообщества
226
Задачи
2
Решений опубликовано
3
Языки

Все задачи

Поиск по теме, языку или сложности.

226 задачи
Легко

Одна общая конфигурация

Смоделировать объект настроек в стиле singleton: каждая часть программы читает и записывает один и тот же экземпляр.

Вы освоите SingletonОбщее состояние
BeginnerШаблоны проектированияSimulation
Пока нет решений
Легко

Подписчики событий

Доставляйте события подписчикам каждой темы в стиле observer и посчитайте, сколько получил каждый.

Вы освоите Паттерн ObserverСловари
Шаблоны проектированияSimulationStrings
Пока нет решений
Легко

Адаптер датчиков температуры

Приведите показания датчиков Fahrenheit, Kelvin и Celsius к одному интерфейсу Celsius.

Вы освоите Паттерн AdapterПеревод единиц
Шаблоны проектированияParsingmath
Пока нет решений
Легко

Фабрика фигур

Создавать фигуры по текстовым описаниям с помощью фабрики и возвращать площадь каждой из них.

Вы освоите Фабричный методПолиморфизм
Шаблоны проектированияParsingmath
Пока нет решений
Средне

Недельная зарплата

Посчитайте зарплату за неделю для сотрудников на окладе, почасовой оплате и комиссии — у каждого своё правило.

Вы освоите ПолиморфизмРасчёт сверхурочных
ParsingSimulationmath
Пока нет решений
Легко

Декораторы цены

Оберните базовую цену в декораторы скидки, налога, доставки и купона, применяемые по порядку.

Вы освоите Паттерн DecoratorПроценты
Шаблоны проектированияSimulationmath
Пока нет решений
Легко

Стоимость уведомлений

Отправьте сообщения через email, SMS и push, где каждый канал сам считает стоимость.

Вы освоите ПолиморфизмЦелочисленное деление
SimulationStrings
Пока нет решений
Средне

Размеры папок с Composite

Вычислить общий размер каждой папки в дереве, где папки содержат файлы и другие папки.

Вы освоите Паттерн CompositeДеревья
Шаблоны проектированияRecursionTrees
Пока нет решений
Средне

Порядок завершения параллельных задач

Запустите задачи одновременно, не более чем по k за раз, и сообщите порядок, в котором они завершаются.

Вы освоите ПараллелизмОчереди с приоритетом
SimulationSorting
Пока нет решений
Средне

Стек с минимумом

Постройте стек, который мгновенно сообщает свой наименьший элемент после любого push или pop.

Вы освоите СтекиТекущий минимум
Data-structuresStacks
Пока нет решений
Средне

Построитель SQL-запросов

Соберите SQL-запрос из частей, заданных в любом порядке, как объект-построитель по шагам собирает настройки.

Вы освоите Паттерн BuilderСборка строк
Шаблоны проектированияParsingStrings
Пока нет решений
Легко

Плата за проезд

Взимайте плату за проезд с мотоциклов, легковых автомобилей и грузовиков, где для грузовиков базовое правило для транспортных средств дополняется количеством осей.

Вы освоите НаследованиеПереопределение методов
BeginnerSimulation
Пока нет решений
Легко

Первый неверный возраст

Проверяйте введённые возраста и сообщайте, где находится первая неверная запись, вместо того чтобы позволять программе аварийно завершаться.

Вы освоите ПроверкаРазбор текста
BeginnerParsingStrings
Пока нет решений
Легко

Подсчёт уровней логов

Прочитайте строки журнала и подсчитайте, сколько из них являются INFO, WARNING и ERROR.

Вы освоите Чтение по строкамРазбиение строк
BeginnerParsingStrings
Пока нет решений
Средне

Порядок освобождения RAII

Определите порядок, в котором ресурсы освобождаются при выходе из их областей видимости, как гарантирует RAII.

Вы освоите RAIIСтеки
Data-structuresSimulationStacks
Пока нет решений
Легко

Соединение клиентов и заказов

Соедините клиентов с их заказами, как в LINQ Join, и выведите общую сумму покупок каждого.

Вы освоите LINQ JoinГруппировка
ArraysSorting
Пока нет решений
Легко

Сумма корректных чисел

Сложите элементы, которые являются целыми числами, и пропустите всё остальное, как try/except обрабатывает неверный ввод.

Вы освоите Try/exceptПроверка ввода
BeginnerParsingStrings
Пока нет решений
Легко

Собрать объект JSON

Преобразуйте ключи и значения в строку JSON-объекта, правильно экранируя кавычки и обратные слэши.

Вы освоите Формат JSONЭкранирование
ParsingStrings
Пока нет решений