Как в ЕГЭ · 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
Операция подходит, если одновременно:
- её магазин стоит в районе
rayon(по таблицеmagaziny); - название её артикула (по таблице
tovary) совпадает сtovarцеликом — «Кефир 1 л» и «Кефир 1 л с черникой» разные товары; - её дата — от
sдоpoвключительно.
Поступления подходящих операций прибавляются, продажи вычитаются. Подходящих нет — ответ 0. Все магазины и артикулы операций есть в своих таблицах.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.