Код Middle Тестирование и pytest обновлено
Тестируемая функция со временем
Условие
Напишите overdue(invoices, now): invoices список словарей {"id", "due"} (ISO-дата YYYY-MM-DD), now ISO-дата. Верните id счетов, у которых срок строго раньше now, отсортированные по сроку, затем по id. Время передаётся параметром, а не берётся из datetime.now(), чтобы функцию было легко тестировать.
Примеры
overdue([{"id":1,"due":"2026-10-01"}, {"id":2,"due":"2026-10-20"}], "2026-10-15") // [1]
overdue([], "2026-10-15") // []
overdue([{"id":1,"due":"2026-10-15"}], "2026-10-15") // []
Как подойти
Подсказки: 2
- Сравнивайте
date.fromisoformat(...). - Срок, равный
now, не просрочен.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.