Войти Создать аккаунт

Как в ЕГЭ · 10 из 29

№3. Поставки в районе

По мотивам задания №3. Сеть магазинов ведёт базу из трёх таблиц: магазины — в каком районе стоит каждый, товары — как называется каждый артикул, движение — что, куда и когда пришло или ушло. На экзамене таблицы — листы файла, и ответ собирают фильтрами. Здесь — функцией.

Что сделать

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

Что приходит

  • dvizhenie — список операций (дата, магазин, артикул, тип, сколько); тип — "поступление" или "продажа"

  • magaziny — словарь «магазин → район»

  • tovary — словарь «артикул → название»

  • rayon — район

  • tovar — название товара целиком

  • s и po — первый и последний день периода, строками "ГГГГ-ММ-ДД"

Что вернуть

Число: сумма поступлений минус сумма продаж по подходящим операциям; может быть отрицательным.

Допишите функцию izmenenie в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Пример

В Заречном два магазина, M1 и M3. Молока в октябре туда пришло 40 упаковок (M1), продано 25 (M1) и 8 (M3): запас изменился на 40 − 25 − 8 = 7. Кефир и магазин M2 из Центра не считаются.

Тот же пример кодом
Перед вызовом
dvizhenie = [
    ("2026-10-03", "M1", 103, "поступление", 40),
    ("2026-10-05", "M1", 103, "продажа", 25),
    ("2026-10-12", "M3", 103, "продажа", 8),
    ("2026-10-12", "M2", 101, "поступление", 30),
    ("2026-10-20", "M1", 101, "продажа", 5),
]
magaziny = {"M1": "Заречный", "M2": "Центр", "M3": "Заречный"}
tovary = {101: "Кефир 1 л", 103: "Молоко 1 л"}
Вызов
izmenenie(dvizhenie, magaziny, tovary, "Заречный", "Молоко 1 л", "2026-10-01", "2026-10-31")
Вернуть
7
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.