1
resposta

Calculando Pedágio

distancia = int(input("Digite a distância percorrida em Km: "))

print("R$ 10,00 Reais de pedágio" if distancia <= 100 else "R$ 20,00 Reais de pedágio" if distancia <= 100 < 200 else "R$ 30,00 Reais de pedágio")
1 resposta

Olá, Giovany. Como vai?

Sua solução apresenta um conceito muito interessante e avançado do Python chamado Operador Ternário (ou expressão condicional). É uma forma de escrever condicionais em apenas uma linha, o que pode deixar o código bem compacto.

No entanto, notei um detalhe importante na sua segunda condição que pode gerar um comportamento inesperado no programa. Na parte distancia <= 100 < 200, a lógica pode não funcionar como você imagina, pois se a distância for, por exemplo, 150, a primeira parte (150 <= 100) já retornaria falso, e o código pularia para a última opção (R$ 30,00).

Para agregar valor ao seu código e torná-lo mais legível e preciso, aqui estão algumas sugestões:

  • Correção da Lógica: Quando usamos if e else encadeados, o Python testa as condições na ordem. Se ele já passou pelo primeiro if, sabemos que a distância é maior que 100.
  • Organização em Bloco: Embora a linha única seja elegante, o uso da estrutura tradicional if, elif, else facilita muito a leitura e a manutenção do código por outros desenvolvedores.

Veja como o seu código ficaria com uma estrutura mais robusta:

distancia = int(input("Digite a distância percorrida em Km: "))

if distancia <= 100:
    print("R$ 10,00 de pedágio")
elif distancia <= 200:
    print("R$ 20,00 de pedágio")
else:
    print("R$ 30,00 de pedágio")

Note que ao usar o elif distancia <= 200, o Python só chega nessa linha se a distância for maior que 100, então não precisamos testar o limite inferior novamente.

Além disso, uma boa prática é evitar repetir o texto "Reais de pedágio" em todos os prints. Você pode armazenar apenas o valor em uma variável e imprimir o texto formatado apenas uma vez ao final.

Continue explorando essas formas simplificadas de escrever código, elas são ótimas para praticar a sintaxe do Python!

Espero que possa ter lhe ajudado!