1
resposta

Desafio: ### Atividade Estruturas de dados: Momento dos projetos part 2

Gostaria de um feedback sobre se possível para melhorias e saber se atende a proposta de forma legí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.
# Preços dos combustiveis
etanol = 1.70
diesel = 2.00

# Desconto Etanol
quinze_litros_etanol = 0.02
mais_quinze_litros_etanol = 0.04
#Desconto Diesel
quinze_litros_diesel = 0.03
mais_quinze_litros_diesel = 0.05

# Input do cliente
choice_combustivel = int(input('Qual o combustivel deseja abastecer?\n[1] Etanol\n[2] Diesel\n'))
qtd_litros = int(input('Quantos litros?\n'))

desconto_quinze_diesel = qtd_litros * quinze_litros_diesel
desconto_mais_diesel = qtd_litros * mais_quinze_litros_diesel

if choice_combustivel == 1:
  print('Etanol')
  print(f'{qtd_litros} litros')
  preco_abastecido_etanol = etanol * qtd_litros
  # Operação com descontos 
  desconto_quinze_etanol = preco_abastecido_etanol * quinze_litros_etanol
  desconto_mais_etanol = preco_abastecido_etanol * mais_quinze_litros_etanol

  if qtd_litros <= 15:
    print(f'Você obeteve 2% de desconto por abastecer {qtd_litros} litros resultando em etanol R$ {preco_abastecido_etanol - desconto_quinze_etanol:.2f} reais')

  else:
    print(f'Você obeteve 4% de desconto por abastecer {qtd_litros} litros resultando em etanol R$ {preco_abastecido_etanol - desconto_mais_etanol:.2f} reais')

elif choice_combustivel == 2:
  print('Diesel')
  print(f'{qtd_litros} litros')
  preco_abastecido_diesel = diesel * qtd_litros
  # Operação com descontos 
  desconto_quinze_diesel = preco_abastecido_diesel * quinze_litros_diesel
  desconto_mais_diesel = preco_abastecido_diesel * mais_quinze_litros_diesel

  if qtd_litros <= 15:
    print(f'Você obeteve 3% de desconto por abastecer {qtd_litros} litros resultando em etanol R$ {preco_abastecido_diesel - desconto_quinze_diesel:.2f} reais')

  else:
    print(f'Você obeteve 5% de desconto por abastecer {qtd_litros} litros resultando em etanol R$ {preco_abastecido_diesel - desconto_mais_diesel:.2f} reais')
1 resposta

Oi, Danilo! Como vai?

Obrigada por compartilhar seu código com a comunidade Alura.

Seu código está no caminho certo, bem organizado e com variáveis bem definidas. Uma sugestão de melhoria seria ajustar os nomes das variáveis para algo mais intuitivo e conferir o texto da mensagem final para não gerar confusão entre Diesel e Etanol. Por exemplo, gostei muito que você separou claramente os descontos por tipo e quantidade, facilitando a compreensão.

Para tornar o código mais limpo, sugiro utilizar uma função que retorne o preço final, algo assim:

quantidade_litros = float(input('Digite a quantidade de litros: '))
tipo_combustivel = input('Digite o tipo do combustivel (E/D): ').upper()

if tipo_combustivel == 'E':
    preco = 1.70
    desconto = 0.02 if quantidade_litros <= 15 else 0.04
elif tipo_combustivel == 'D':
    preco = 2.00
    desconto = 0.03 if quantidade_litros <= 15 else 0.05

valor_total = quantidade_litros * preco * (1 - desconto)

print(f'Total a pagar: R$ {valor:.2f}')

O código calcula o valor final considerando o tipo e a quantidade do combustível escolhido.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!