1
resposta

[Sugestão] Eu fiz assim: gerador de funções personalizadas

def desconto_aplicado(x):
    def desconto(y):
        porcentagem  = y / 100 
        desconto_final = x * porcentagem
        preco_final = x - desconto_final
        return preco_final
    return desconto

preco_original = desconto_aplicado(float(input('Digite o valor da compra: ')))
valor_desconto = preco_original(int(input('Digite o valor do desconto: ')))
print(f'Preço final com desconto: {valor_desconto}')

Usei com base que aprendi no slide

1 resposta

Olá, Ana, como vai?

Seu código utiliza o conceito de closure de forma funcional para resolver o problema proposto. A estrutura permite que você defina um valor base e depois aplique diferentes variações de desconto sobre ele. A lógica de cálculo e a captura de dados via input estão corretas e atendem ao que foi solicitado no exercício.

Uma dica interessante para tornar o código mais legível é nomear os parâmetros das funções de forma mais descritiva. Em vez de utilizar x e y, você poderia utilizar valor_compra e porcentagem_desconto. Isso ajuda outros desenvolvedores a entenderem o propósito de cada variável logo no primeiro contato com o código.

Parabéns por concluir o exercício e por compartilhar sua solução com a comunidade. Continue praticando e postando seus avanços por aqui.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!