Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

12 Faça como eu fiz: gerador de funções personalizadas

desconto = float(input("Digite a porcentagem de desconto: "))
valor = float(input("Digite o valor da compra: "))

def desconto_aplicado(desconto):
    def calcular_preco(valor):
        return valor - (valor * (desconto / 100)) # ex: 1 x 0.8(20% desconto)
    return calcular_preco

preco_final = desconto_aplicado(desconto)
print(f"Preço final com desconto: {preco_final(valor)}")
Digite a porcentagem de desconto: 10
Digite o valor da compra: 200
Preço final com desconto: 180.0
1 resposta
solução!

Oi, Carlos! Como vai?

Agradeço por compartilhar.

Seu uso de função interna ficou bem estruturado: a função desconto_aplicado() recebe a porcentagem e retorna outra função, calcular_preco(), que usa esse desconto para calcular o valor final. Isso mostra bem a ideia de criar uma função personalizada a partir de um valor definido antes.

Uma dica interessante para o futuro é usar round() para controlar as casas decimais do resultado, deixando a saída mais organizada em valores monetários.


def calcular_preco(valor):
    preco = valor - (valor * (desconto / 100))
    return round(preco, 2)

O método round(preco, 2) arredonda o preço final para duas casas decimais, o que ajuda quando o resultado tem muitos números depois da vírgula.

Conteúdos relacionados
Conteúdos relacionados