Oi, Apollo. Tudo bem com você?
A ideia de utilizar set, juntamente com strip() e lower(), é uma boa escolha para esse exercício, pois facilita a comparação das permissões sem que espaços extras ou diferenças entre letras maiúsculas e minúsculas interfiram no resultado. Há apenas alguns pontos no código que precisam de ajuste para que a lógica funcione conforme o enunciado.
Na verificação, o método issubset() foi aplicado no sentido inverso. O objetivo é verificar se as permissões solicitadas estão contidas nas permissões principais, portanto a chamada deve ser feita a partir de permissoes_solicitadas. Além disso, a variável foi criada com o nome subconjutos, mas na estrutura if foi utilizada como subconjunstos, o que gera um erro por causa da diferença na escrita. Também é possível simplificar a condição usando apenas if subconjutos:, sem comparar explicitamente com True.
Parabéns por praticar esse conteúdo e por compartilhar sua resolução. Continue participando do fórum sempre que surgir uma dúvida. Estamos à disposição para ajudar.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!