Oi, Paulo! Como vai?
Agradeço por compartilhar.
Seu projeto ficou bem organizado ao usar uma closure com criar_desconto, já que a função interna aplicar_desconto mantém acesso ao percentual informado mesmo depois da função externa terminar. Também ficou legal o uso do try/except para validar a entrada do usuário.
Uma dica interessante para o futuro é criar uma pequena validação para evitar percentuais negativos ou acima de 100, deixando o programa mais seguro.
if perc_desconto < 0 or perc_desconto > 100:
print("Digite um desconto entre 0 e 100")
else:
desconto = criar_desconto(perc_desconto)
print(f"Preco final com desconto: {desconto(valor):.2f}")
Esse trecho verifica se o desconto está dentro de um intervalo valido antes de aplicar a função, e o .2f mostra o preço com duas casas decimais. Pensando nesse projeto, quais outras funções personalizadas você criaria usando closure?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!