valor = float(input('Digite o valor da compra: '))
escolha = input("Deseja aplicar '[D]esconto' ou '[A]créscimo'? ").upper()
def usarDesconto(percentual):
def desconto(valor):
return valor - valor*(percentual/100)
return desconto
def criar_acrescimo(valorAcres):
def acrescimo(valor):
return valor + valorAcres
return acrescimo
if escolha.upper() == 'D':
percentual = int(input('Digite a porcentagem de desconto: '))
descontoAplicado = usarDesconto(percentual) # 'percentual' vem da sua entrada
precoComDesconto = descontoAplicado(valor) # 'valor' vem da sua entrada
print(f'Preço final com desconto: R$ {precoComDesconto:.2f}')
elif escolha.upper() == 'A':
valorAcres = float(input('Digite o valor de acréscimo: '))
acrescimoAplicado = criar_acrescimo(valorAcres)
precoComAcrescimo = acrescimoAplicado(valor)
print(f'Preço final com acréscimo: R$ {precoComAcrescimo:.2f}')
else:
print('Mensagem de erro ou opção inválida')
Eu incrementei o problema caso o usuário queira calcular um acréscimo, no lugar do desconto.