1
resposta

minha solução

def forma_lista(tipo: str) -> set:
    while True:
        lista = input(f"Digite as permissões {tipo} separadas por vírgula: ").lower().strip().split(",")
        if lista == [""]:
            print("A lista não pode ser vazia.")
        else:
            conjunto = set(i.strip() for i in lista)
            return conjunto

compara_conjuntos = lambda conjunto, subconjunto: subconjunto.issubset(conjunto)

def escreve_resposta(resultado: bool) -> None:
    if resultado:
        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.")

if __name__ == "__main__":
    principais = forma_lista("principais")
    solicitadas = forma_lista("solicitadas")
    resposta = compara_conjuntos(principais, solicitadas)
    escreve_resposta(resposta)
1 resposta

Olá, Gabriel! Tudo bem?

Parabéns pela resolução da atividade! Achei excelente a sua abordagem.

Gostei muito de ver que você já está aplicando boas práticas, como o uso de Type Hints (ex: -> set) e a estrutura if __name__ == "__main__":, que deixa o código muito mais profissional e organizado. A lógica com o while True para validar a entrada também ficou ótima.

Continue praticando e mergulhando nos estudos de Python!

Bons estudos!

Sucesso

Imagem da comunidade