1
resposta

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

def calcular (porcentagem_desconto, valor_compra):
    def desconto_porcentagem (porcentagem_desconto, valor_compra):
        return valor_compra - (valor_compra * porcentagem_desconto / 100)
    return desconto_porcentagem(porcentagem_desconto, valor_compra)

def main():
    try:
        valor_desconto = float(input('Digite o valor do desconto: '))
        valor_compra = float(input('Digite o valor da compra: '))
        print("Preço final com desconto", calcular(valor_desconto, valor_compra))
    except ValueError:
        print('Valor invalido')
        main()

main()
1 resposta

Oi, Paulo! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

É isso aí! Gostei da forma como usou uma função dentro da outra para aplicar o desconto. Isso mostra domínio dos conceitos de escopo e reaproveitamento de lógica.

Uma dica interessante para o futuro é usar a função round() para limitar casas decimais em valores monetários. Veja este exemplo:


preco = 19.987
print(round(preco, 2))

Esse código imprime 19.99, pois round arredonda o número para duas casas decimais.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura

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