1
resposta

[Projeto] CALCULANDO PEDÁGIO

Prezados(as),
Boa Tarde,

Segue a implementação da solução para o exercício: Calculando pedágio

# AREA DE VARIÁVEIS

distancia = float(input("Informe a distância percorrida em km: "))

# PROCESSAMENTO E SAÍDA

print("\n--- CÁLCULO DE PEDÁGIO ---------------------------------")
if distancia <= 100:
  pedagio = 10.00
elif 100 < distancia <= 200:
  pedagio = 20.00
else:
  pedagio = 30.00

print(f"O valor do pedágio é: R$ {pedagio:.2f}")
print("--------------------------------------------------------")
1 resposta

Olá, Luiz Fernando. Como vai?

Sua solução para o sistema de cálculo de pedágio ficou excelente! O código está super limpo, direto e muito bem estruturado. A separação entre a entrada de dados, o processamento com a estrutura condicional e a saída formatada demonstra uma ótima consistência no seu jeito de programar.

A formatação de saída com R$ {pedagio:.2f} garantiu que o valor monetário seja exibido perfeitamente na tela com as duas casas decimais, o que é excelente para a experiência do usuário.

Para somar ao seu aprendizado e trazer novos pontos de reflexão para o fórum, preparei duas dicas: uma sobre a simplificação da sua lógica condicional e outra sobre um detalhe de validação muito importante para o mundo real.


1. Simplificando os Testes do elif

No seu bloco de decisão, você utilizou a seguinte regra:

elif 100 < distancia <= 200:

O Python aceita perfeitamente essa sintaxe encadeada, e ela está totalmente correta. Contudo, pensando na forma como o interpretador do Python lê o seu código (de cima para baixo), você pode simplificar essa validação.

Se o programa passou pelo primeiro if (distancia <= 100) e chegou até o elif, o Python já sabe, por garantia, que a distância é maior do que 100.

Portanto, você não precisa repetir o teste 100 < distancia. Pode escrever apenas:

elif distancia <= 200:

O resultado prático na execução será exatamente o mesmo, mas o seu código ganha em legibilidade e o sistema faz um teste lógico a menos.


2. Dica de Segurança: Evitando Distâncias Negativas

Como você tem se preocupado bastante com a validação de dados em outros exercícios, um cenário que pode acontecer nesse sistema é o usuário digitar um valor negativo por engano (por exemplo, -50).

No formato atual do código, se a distância for -50, a condição distancia <= 100 será considerada verdadeira, e o programa dirá que o valor do pedágio é R$ 10.00.

Para blindar o seu código contra esse tipo de bug, podemos aplicar uma cláusula de guarda para verificar se a distância é válida antes de calcular o pedágio. Veja como o fluxo fica protegido:

distancia = float(input("Informe a distância percorrida em km: "))

# Validação: distância não pode ser zero ou negativa
if distancia <= 0:
    print("Erro: A distância percorrida deve ser um valor maior que zero.")
else:
    print("\n--- CÁLCULO DE PEDÁGIO ---------------------------------")
    
    # Com a garantia de que o número é positivo, fazemos a checagem dos limites
    if distancia <= 100:
        pedagio = 10.00
    elif distancia <= 200:
        pedagio = 20.00
    else:
        pedagio = 30.00

    print(f"O valor do pedágio é: R$ {pedagio:.2f}")
    print("--------------------------------------------------------")

Parabéns por manter o excelente ritmo de estudos e por compartilhar códigos sempre tão organizados e fáceis de ler aqui na nossa comunidade!

Espero que possa ter lhe ajudado!