Вступить в клуб →
средняяpythonАсинхронные интеграции: Kafka и RabbitMQ

Баланс бонусов при повторной доставке событий

Брокер гарантирует доставку «хотя бы один раз», поэтому одно событие может прийти несколько раз. Событие начисления или списания: {"event_id": "e1", "customer_id": "c7", "points": 150}, списание — отрицательные points.

Напишите bonus_balances(events).

  • events — список событий в порядке получения.
  • Событие с уже встречавшимся event_id игнорируется, даже если его содержимое отличается.
  • Верните словарь {customer_id: баланс} только для клиентов, у которых было хотя бы одно учтённое событие. Баланс может быть нулевым или отрицательным.

заготовка решения

def bonus_balances(events):
    # ваш код
    return None

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела