1
resposta

Fiz o código dessa forma, não sei se foi a melhor

comblist = ['E', 'D']
litros = float(input('informe a quantidade de litros abastecido: '))
comb = input('qual o combustivel abastecido? (Use E par etanol e D para diesel) ') 
valordesE2= litros * (2/100) * litros
valordesE4 = litros * (4/100) * litros
valordesD3 = litros * (3/100) * litros
valordesD5 = litros * (5/100) * litros

if comb in comblist:
  if comb == 'E':
    if litros <= 15:
      print ('o cliente pagará:', (litros * 1.70) - valordesE2)
    else:
      print ('o cliente pagará: ', (litros * 1.70) - valordesE4) 

  if comb == 'D':
    if litros <= 15:
      print('o cliente pagará: ', (litros * 2) - valordesD3)
    else:
      print ('o cliente pagará:', (litros * 2) - valordesD5)
1 resposta

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:

  1. A fórmula para calcular o desconto agora é preco_por_litro * litros * percentual_de_desconto, que é a forma correta de calcular o desconto.
  2. 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!