Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução

def desconto(porcentagem):
    def valor(preco_original):
        return preco_original - (preco_original * porcentagem/ 100)
    
    return valor


porcentagem = float(input("Digite a porcentagem de desconto: "))

preco_final = desconto(porcentagem)

valor = float(input("Digite o valor da compra: "))  

print(f"Preço final com desconto: {preco_final(valor)}") 

1 resposta

Oi, Maria, como vai?

Obrigado por compartilhar sua resolução. Seu código atende corretamente ao desafio e utiliza o conceito de closure de forma adequada. A função interna valor() mantém acesso à variável porcentagem, permitindo calcular o desconto posteriormente sem precisar recebê-la novamente como parâmetro.

Um ponto positivo é que a solução ficou simples e objetiva, demonstrando um bom entendimento de como funções podem retornar outras funções em Python. Por exemplo, ao informar 10 como porcentagem e 200 como valor da compra, o resultado será 180.0, conforme esperado pela atividade.

Parabéns pela resolução. Continue compartilhando suas soluções, e conte com o fórum para apoiar seu aprendizado.

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