Oi, Yan! Como vai?
Sua lógica está bem estruturada, e o uso do método issubset() para verificar se as permissoes_solicitadas fazem parte das permissoes_principais demonstra que você compreendeu bem como trabalhar com conjuntos em Python.
Existe apenas um detalhe importante a corrigir: o método lower precisa ser chamado com parênteses, ficando lower(), para que ele realmente execute a conversão do texto para letras minúsculas. Sem os parênteses, o Python interpreta lower como uma referência ao método, e não como uma chamada, o que vai gerar um erro na execução do split(',') logo em seguida.
Uma dica valiosa para complementar o seu código é utilizar o método strip() dentro do for, junto ao split e ao input. Isso garante que espaços extras digitados pelo usuário sejam removidos de cada permissão, deixando o conjunto mais limpo e preciso. Veja o exemplo:
<pre><code>
permissoes_principais = set(p.strip() for p in input('permissões principais: ').lower().split(','))
permissoes_solicitadas = set(p.strip() for p in input('permissões solicitadas: ').lower().split(','))
eh_subconjunto = permissoes_solicitadas.issubset(permissoes_principais)
if eh_subconjunto:
print("As permissões solicitadas fazem parte das permissões principais.")
else:
print("As permissões solicitadas não fazem parte das permissões principais.")
</code></pre>
Com essa pequena adição, o set gerado a partir do input fica mais robusto, pois o strip() age em cada item individualmente após o split, removendo espaços que poderiam causar comparações incorretas entre as permissoes_principais e as permissoes_solicitadas.
No mais, sua estrutura com o if e o else está clara, objetiva, e o print transmite a resposta de forma bem legível para o usuário. Continue assim!
Você já teve a oportunidade de testar o comportamento do issubset() com conjuntos que possuem elementos em comum, mas não formam um subconjunto completo? Como ficou o resultado?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!