Вступить в клуб →
средняяpythonТрекинг событий и данные для продуктовой аналитики

Проверка события на соответствие трекинг-плану

Напишите validate_event(event, plan).

  • event — словарь {"name": str, "props": dict}.
  • plan — словарь имя события → {свойство: тип}, тип — одна из строк "str", "int", "float", "bool". Все свойства из плана обязательны.
  • Верните список ошибок-строк:
    • события нет в плане → ["unknown_event"] и больше ничего;
    • свойство отсутствует или равно None → "missing:<свойство>";
    • значение не того типа → "type:<свойство>";
    • свойство не описано в плане → "extra:<свойство>".
  • Ошибки missing и type идут в порядке свойств в плане, затем extra по алфавиту.
  • Правила типов: True/False — только "bool", а не "int"; для "float" подходят и int, и float, но не bool.

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

def validate_event(event, plan):
    # ваш код
    return None

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

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

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

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