Oi, Willians! Como vai?
Agradeço por compartilhar.
Gostei da sua solução, pois você usou bem o conceito de função interna ao criar aplicar_desconto() dentro de criar_desconto(). Isso mostra que você entendeu como uma função pode gerar outra função personalizada, guardando a porcentagem informada para aplicar depois no valor da compra.
Dica: você pode formatar o resultado com duas casas decimais usando :.2f, assim o preço final fica mais organizado para valores monetários: print(f"Preço final com desconto: R$ {preco_final:.2f}").
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!