Вступить в клуб →
средняяpythonРолевая модель, прототипы и пользовательский путь

Поиск пользователей с конфликтующими правами

Напишите find_sod_conflicts(user_roles, role_permissions, conflicts).

  • user_roles — словарь пользователь → список ролей.
  • role_permissions — словарь роль → список прав. Роли, которой нет в словаре, считайте ролью без прав.
  • conflicts — список пар (право_1, право_2), которые не должны быть у одного человека.
  • Права пользователя — объединение прав всех его ролей.
  • Верните отсортированный список кортежей (пользователь, право_1, право_2) для каждого пользователя и каждой конфликтной пары, оба права которой у него есть. Пару выводите в том порядке, в каком она задана в conflicts.

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

def find_sod_conflicts(user_roles, role_permissions, conflicts):
    # ваш код
    return None

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

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

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

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