Olá, Ester, tudo bem?
Seu código está no caminho certo. Mas, há um pequeno ajuste que pode ser feito para melhorar a clareza e a correção do cálculo do desconto. Atualmente, você está multiplicando a quantidade de litros por ela mesma ao calcular o valor do desconto, o que não é necessário.
Por exemplo, no caso do etanol com 2% de desconto, o cálculo correto do desconto seria baseado no valor total abastecido, e não apenas na quantidade de litros ao quadrado.
💡 Dica:
Uma boa prática é definir primeiro o preço do litro e o percentual de desconto, e só depois calcular o desconto e o valor final. Isso deixa o código mais claro e evita erros matemáticos.
comblist = ['E', 'D']
litros = float(input('informe a quantidade de litros abastecido: '))
comb = input('qual o combustivel abastecido? (Use E para etanol e D para diesel) ')
# Preços por litro
preco_etanol = 1.70
preco_diesel = 2.00
# Calculando o valor do desconto
if comb in comblist:
if comb == 'E':
if litros <= 15:
desconto = preco_etanol * litros * (2 / 100)
valor_a_pagar = (litros * preco_etanol) - desconto
else:
desconto = preco_etanol * litros * (4 / 100)
valor_a_pagar = (litros * preco_etanol) - desconto
elif comb == 'D':
if litros <= 15:
desconto = preco_diesel * litros * (3 / 100)
valor_a_pagar = (litros * preco_diesel) - desconto
else:
desconto = preco_diesel * litros * (5 / 100)
valor_a_pagar = (litros * preco_diesel) - desconto
print('O cliente pagará: R$', valor_a_pagar)
Aqui está o que foi ajustado:
- A fórmula para calcular o desconto agora é
preco_por_litro * litros * percentual_de_desconto, que é a forma correta de calcular o desconto. - Introduzi duas variáveis
preco_etanol e preco_diesel para tornar o código mais legível e fácil de ajustar caso os preços mudem no futuro.
Espero ter ajudado.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!