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

Монитор цен · Шаг 3 из 4

О чём сообщить

Изменений за день набирается полсотни, а Олегу интересно три: товар подешевел заметно — от десяти процентов, нужный товар снова на складе и новинки. И главное — не повторяться: если дрель уже подешевела до 4 790 ₽ и Олег об этом знает, завтра та же цена не новость.

Что сделать

Выберите из событий те, о которых стоит сообщить, и не повторяйте сообщённое: запомните, о какой цене уже сказали.

Что приходит

  • sobytiya — список событий, как его вернул шаг 2

  • porog — на сколько процентов, целым числом, должна упасть цена, чтобы о ней сообщить: 10

  • pamyat — словарь «артикул → цена в копейках, о которой уже сообщили»; в первый раз — пустой

Что вернуть

Пару (uvedomleniya, pamyat): список событий с добавленным ключом "povod" и новую память — словарь, ключи по порядку.

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

В проекте

Программа загружает память из pamyat.json, зовёт uvedomit и сохраняет новую память обратно. Уведомления уходят в шаг 4. Решите шаг — и монитор перестанет повторять вчерашние новости.

Пример

Дрель подешевела с 5 490 до 4 790 ₽ — на 12,75%, это больше порога 10%; шуруповёрт снова на складе; появился новый набор бит. Сообщить обо всех трёх, а запомнить — цену дрели: {"A-101": 479000}.

Тот же пример кодом
Перед вызовом
sobytiya = [{"artikul": "A-101", "chto": "cena", "bylo": 549000, "stalo": 479000},
            {"artikul": "A-102", "chto": "nalichie", "bylo": False, "stalo": True},
            {"artikul": "A-104", "chto": "novyy", "bylo": None, "stalo": 129990}]
Вызов
uvedomit(sobytiya, 10, {})
Вернуть
([{'artikul': 'A-101', 'chto': 'cena', 'bylo': 549000, 'stalo': 479000, 'povod': 'podeshevel'}, {'artikul': 'A-102', 'chto': 'nalichie', 'bylo': False, 'stalo': True, 'povod': 'snova_v_nalichii'}, {'artikul': 'A-104', 'chto': 'novyy', 'bylo': None, 'stalo': 129990, 'povod': 'novinka'}], {'A-101': 479000})
Ctrl+Enter — проверить

Обсуждение

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

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