Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Cálculo combustível

'''
12. Um estabelecimento está vendendo combustíveis com descontos variados. 
Para o etanol, se a quantidade comprada for até 15 litros, o desconto será de 2%
 por litro. Caso contrário, será de 4% por litro. Para o diesel, se a quantidade
  comprada for até 15 litros, o desconto será de 3% por litro. Caso contrário, 
  será de 5% por litro. O preço do litro de diesel é R$ 2,00 e o preço do litro 
  de etanol é R$ 1,70. Escreva um programa que leia a quantidade de litros 
  vendidos e o tipo de combustível (E para etanol e D para diesel) e calcule o 
  valor a ser pago pelo cliente. Tenha em mente algumas dicas:
O do valor do desconto será a multiplicação entre preço do litro, quantidade de 
litros e o valor do desconto.
O valor a ser pago por um cliente será o resultado da multiplicação do preço do 
litro pela quantidade de litros menos o valor de desconto resultante do cálculo.
'''
#solicita entrada do tipo de combustível
tipo_combustivel = input('Qual o combustível você quer abastecer?\nE-Etanol\nG-Gasolina\nD-Diesel\n').lower()
#solicita a quantidade de litros desejáveis
quantidade_litros = float(input('Digite a quantidade de litros: '))
valor_com_desconto = 0
desconto = '0%'
valor_desconto = 0
preco_por_litro = 0

#imprime o cabeçalho da nota fiscal
print('=================================================')
print('|                Nota fiscal                    |')
print('=================================================')

#condições para verificar o tipo do combustível
if tipo_combustivel == 'e':
  tipo_combustivel = 'Etanol'
  preco_por_litro = 1.7
  if quantidade_litros > 15:
    valor_com_desconto = preco_por_litro * quantidade_litros * 0.96
    desconto = '4%'
    valor_desconto = preco_por_litro * quantidade_litros * 0.04
  else:
    valor_com_desconto = 2.00 * quantidade_litros * 0.98
    desconto = '2%'
    valor_desconto = 2.00 * quantidade_litros * 0.02
elif tipo_combustivel == 'd':
  tipo_combustivel = 'Diesel' 
  preco_por_litro = 2.00
  if quantidade_litros > 15:
    valor_com_desconto = preco_por_litro * quantidade_litros * 0.97
    desconto = '3%'
    valor_desconto = preco_por_litro * quantidade_litros * 0.03
  else:
    valor_com_desconto = preco_por_litro * quantidade_litros * 0.95
    desconto = '5%'
    valor_desconto = preco_por_litro * quantidade_litros * 0.05
elif tipo_combustivel == 'g':
  preco_por_litro = 1.80
  tipo_combustivel = 'Gasolina'
  valor_com_desconto = preco_por_litro * quantidade_litros
  desconto = '0%'
  valor_desconto = 0.00
else:
  quantidade_litros = 0
  tipo_combustivel = 'Opção inválida'

print(f'Tipo do combustível: {tipo_combustivel}')
print(f'Valor com Desconto: R$ {valor_com_desconto}')
print(f'Total do desconto: {desconto}')
print(f'Valor do desconto: R$ {valor_desconto}') 
print(f'Quantidade de litros: {quantidade_litros}')
print(f'Preço do litro: R$ {preco_por_litro}')
print('=================================================')
2 respostas
solução!

Bom dia Bruno! Tudo bem?

Meus parabéns pela resolução da atividade, é muito importante colocar em prática o que estamos aprendendo, para que possamos cada dia mais ter um conhecimento sólido. Analisando o seu código, notei que existem alguns pontos que precisam ser ajustados para que seja atendido a proposta do enunciado. Deixo abaixo detalhados os pontos de modificações:

Cálculo do desconto para o diesel

A verificação condicional que calcula o desconto para o diesel está invertida, o correto é quantidade_litros > 15 o desconto será de 5% (desconto = '5%'), caso seja menor o desconto deve ser de 3%, abaixo essa parte do código corrigida:

elif tipo_combustivel == 'd':
  tipo_combustivel = 'Diesel' 
  preco_por_litro = 2.00
  if quantidade_litros > 15:
    valor_com_desconto = preco_por_litro * quantidade_litros * 0.95
    desconto = '5%'
    valor_desconto = preco_por_litro * quantidade_litros * 0.05
  else:
    valor_com_desconto = preco_por_litro * quantidade_litros * 0.97
    desconto = '3%'
    valor_desconto = preco_por_litro * quantidade_litros * 0.03

Valor do etanol

No cálculo do valor do combustível quando selecionado o etanol, para quantidade menores que 15 litros está utilizando o preço do diesel. Abaixo essa parte do código corrigida:

if tipo_combustivel == 'e':
  tipo_combustivel = 'Etanol'
  preco_por_litro = 1.7
  if quantidade_litros > 15:
    valor_com_desconto = preco_por_litro * quantidade_litros * 0.96
    desconto = '4%'
    valor_desconto = preco_por_litro * quantidade_litros * 0.04
  else:
    valor_com_desconto = 1.7 * quantidade_litros * 0.98
    desconto = '2%'
    valor_desconto = 1.7 * quantidade_litros * 0.02

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

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

Obrigado pelo feedback, irei corrigir já no meu código.