Olá, Marcelo! Parabéns por concluir o projeto Calculando pedágio.
A sua solução está muito bem desenvolvida. A escolha do tipo float para a distância é excelente, pois permite registrar trajetos com precisão decimal. A estrutura escolhida atende aos requisitos do problema, e a presença do tratamento para ValueError protege a aplicação contra entradas inválidas de texto.
Como ponto de observação técnica e simplificação, note que no primeiro elif você utilizou a condição distancia_percorrida > 100 and distancia_percorrida <= 200. Como o Python lê o código em ordem e o primeiro if já eliminou todos os números menores ou iguais a 100, você não precisa repetir a checagem distancia_percorrida > 100. Escrever apenas elif distancia_percorrida <= 200: já é suficiente e deixa a leitura do código mais limpa.
Veja como ficaria essa simplificação natural:
try:
distancia_percorrida = float(input("Digite a distância percorrida (em km): "))
if distancia_percorrida <= 100:
print("Valor do pedágio: R$ 10,00")
elif distancia_percorrida <= 200:
# O Python só chega aqui se a distância for maior que 100
print("Valor do pedágio: R$ 20,00")
else:
# O else assume tudo que sobrou (maior que 200)
print("Valor do pedágio: R$ 30,00")
except ValueError:
print("Informe somente valores numéricos.")
Essa forma de estruturar aproveita o comportamento em cascata das condicionais de maneira direta e objetiva.
Na sua visão, você acredita que utilizar o else no final para a última faixa ajuda a tornar o código mais limpo do que criar um último elif com uma condição explícita?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!