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

[Projeto] Faça como eu fiz: 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"Preço final com desconto: {calcular_preco_final(valor)}")

Digite a porcentagem de desconto: 5
Digite o valor da compra: 40
Preço final com desconto: 38.0

1 resposta

Oi, Silvana! Como vai?

Achei muito interessante a forma como você utilizou uma função dentro de outra para criar um desconto personalizado. Isso mostra que você compreendeu bem o conceito de funções aninhadas e como retornar uma função para reutilizar uma lógica específica. O resultado apresentado também confirma que o cálculo foi realizado corretamente: aplicando 5% de desconto sobre 40, o valor final ficou 38.0.

Uma dica interessante para o futuro é utilizar uma função para formatar valores monetários, deixando a saída mais amigável para quem utiliza o programa. Veja este exemplo:

<pre><code>
valor = 38.0
print(f"Preco final: R$ {valor:.2f}")
</code></pre>

Nesse exemplo, :.2f exibe o valor com duas casas decimais, resultando em uma apresentação mais adequada para preços.

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