1
resposta

[Dúvida] Qual o erro?

quantidade_litros = float(input('Informe a quantidade de litros vendidos: '))
tipo_combustivel = input('Informe o tipo de combustível (E para etanol e D para diesel): ').upper().split()
if quantidade_litros<=15 and tipo_combustivel=='E':
    valor=quantidade_litros*1.70
    valor_desc=valor-(valor*2)/100
elif quantidade_litros>15 and tipo_combustivel=='E':
    valor=quantidade_litros*1.70
    valor_desc=valor-(valor*4)/100
elif quantidade_litros<=15 and tipo_combustivel=='D':
    valor=quantidade_litros*2
    valor_desc=valor-(valor*3)/100
else:
    valor=quantidade_litros*2
    valor_desc=valor-(valor*5)/100
print('A quantidade de {} foi {}L, tento o total a pagar R${} '.format(tipo_combustivel, quantidade_litros, valor_desc))

##O VALOR_DESC, QUE É O VALOR A SE PAGAR, ESTÁ DANDO DIFERENTE DO VALOR DO CODIGO FEITO PELO INSTRUTOR

RESPOSTA INSTRUTOR:

# Coletamos a quantidade de litros e o tipo de combustível,
# já deixando o caractere em maiúsculo para facilitar nossa análise


quantidade_litros = float(input('Informe a quantidade de litros vendidos: '))
tipo_combustivel = input('Informe o tipo de combustível (E para etanol e D para diesel): ').upper()

#  Verificamos primeiro o tipo de combustível
if tipo_combustivel == 'E':
  # Taxamos o valor do preço em litros do etanol
  preco_litro = 1.70
  # De acordo com o valor da quantidade de litros, taxamos também o desconto
  if quantidade_litros <= 15:
    desconto = 0.02
  else:
    desconto = 0.04
elif tipo_combustivel == 'D':
  # Taxamos o valor do preço em litros do disel
  preco_litro = 2.00
  # De acordo com o valor da quantidade de litros, taxamos também o desconto
  if quantidade_litros <= 15:
    desconto = 0.03
  else:
    desconto = 0.05
# Caso ocorra um erro na especificação de tipo de combustível,
# consideramos entradas inválidas, e os preços são taxados em 0
else:
    print('Entradas inválidas!')
    preco_litro = 0
    desconto = 0

# Fazemos o cálculo do valor de desconto, seguido do cálculo do preço descontado
valor_desconto = preco_litro * quantidade_litros * desconto
valor_pago = preco_litro * quantidade_litros - valor_desconto

# Resultado
print(f'Valor a ser pago pelo cliente: R$ {valor_pago}')
1 resposta

Oi Gabriel, tudo bem?

Primeiro, notei que você está usando .split() na entrada do tipo de combustível. Isso transforma a string em uma lista, o que pode causar problemas na comparação.

Removi o .split() da entrada do tipo de combustível no seu código, e obtive o mesmo resultado que o código do instrutor.

Portanto, recomendo remover o split. A linha de código corrigida ficará assim:

tipo_combustivel = input('Informe o tipo de combustível (E para etanol e D para diesel): ').upper()

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!