1
resposta

[Projeto] gerador de funções personalizadas

def criar_desconto(porcentagem):
    def calcular_preco(valor):
        return valor - (valor * (porcentagem / 100))
    return calcular_preco
desconto = float(input('Digite a porcentagem de desconto: '))
calcular_preco_final = criar_desconto(desconto)
valor = float(input('Digite o valor da compra: '))
print(f'preco final com desconto: {calcular_preco_final(valor)}')

1 resposta

Olá, Apollo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou a função interna para criar descontos com Python, utilizou muito bem o closure para encapsular a lógica de cálculo e ainda compreendeu a importância da retomada da função para aplicar o desconto dinamicamente.

Uma dica interessante para o futuro é formatar o valor final como moeda, deixando a saída mais clara para o usuário. Assim:

def criar_desconto(porcentagem):
    def calcular_preco(valor):
        return valor - (valor * (porcentagem / 100))
    return calcular_preco

desconto = float(input('Digite a porcentagem de desconto: '))
calcular_preco_final = criar_desconto(desconto)
valor = float(input('Digite o valor da compra: '))
print(f'Preço final com desconto: R$ {calcular_preco_final(valor):.2f}')

Isso faz o resultado aparecer com duas casas decimais, no formato padrão de valores monetários.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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