1
resposta

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

def criar_desconto(percentual):
def aplicar_desconto(valor):
desconto = valor * (percentual / 100)
return valor - desconto

return aplicar_desconto

percentual = float(input("Digite o percentual de desconto: "))
desconto = criar_desconto(percentual)
valor_compra = float(input("Digite o valor da compra: "))
valor_final = desconto(valor_compra)
print(f"Valor final com desconto: R$ {valor_final:.2f}")

Digite o percentual de desconto: 13
Digite o valor da compra: 600
Valor final com desconto: R$ 522.00

1 resposta

Olá, Marcelo! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou a função aninhada para criar lógica com Python, utilizou muito bem o return para devolver resultados e ainda compreendeu a importância da função float para trabalhar com valores numéricos.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar funções lambda para simplificar a criação de descontos. Assim:

percentual = float(input("Digite o percentual de desconto: "))
desconto = lambda valor: valor - (valor * percentual / 100)
valor_compra = float(input("Digite o valor da compra: "))
valor_final = desconto(valor_compra)
print(f"Valor final com desconto: R$ {valor_final:.2f}")

Isso faz a mesma operação de forma mais compacta.

Ah, uma pergunta: Você considera mais interessante manter funções aninhadas para clareza e organização ou prefere simplificar com expressões lambda para deixar o código mais enxuto?

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

Abraço e bons estudos!

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