Olá, Andressa. Como vai?
Parabéns pela resolução! O seu código está muito bem escrito e a lógica das condicionais if, elif e else foi aplicada de forma precisa para resolver o problema da Fernanda.
Um ponto muito positivo no seu código é o uso da sintaxe simplificada do Python no elif: 100 < distancia <= 200. Em muitas outras linguagens, você precisaria obrigatoriamente usar um operador lógico como distancia > 100 and distancia <= 200, mas o Python permite essa escrita matemática mais direta, o que torna o código mais legível.
Para agregar ainda mais valor ao seu estudo, aqui estão algumas sugestões de boas práticas que você pode aplicar em projetos futuros:
- Evite valores "mágicos" (Hardcoding): Em sistemas maiores, os preços dos pedágios podem mudar. Uma boa prática é guardar esses valores em variáveis no início do código. Assim, se o preço subir, você altera em um só lugar.
- Refinamento do limite: Note que se a distância for exatamente 100, o seu código entra no primeiro
if (correto). Se for 100.1, ele já pula para o elif. Sua lógica de intervalos está matematicamente perfeita.
Veja como o código ficaria seguindo essa ideia de organização:
distancia = float(input("Digite a distância percorrida (em km): "))
# Definindo os preços como variáveis (facilita a manutenção)
PRECO_CURTO = 10.00
PRECO_MEDIO = 20.00
PRECO_LONGO = 30.00
if distancia <= 100:
valor = PRECO_CURTO
elif 100 < distancia <= 200:
valor = PRECO_MEDIO
else:
valor = PRECO_LONGO
print(f"Valor do pedágio: R$ {valor:.2f}")
- Por que usar o f-string com
:.2f?
Como estamos lidando com dinheiro, essa formatação garante que o Python sempre exiba duas casas decimais (ex: 10.00 em vez de 10.0), deixando a interface para o usuário muito mais profissional.
Continue com esse foco nas condicionais, pois elas são a base da tomada de decisão em qualquer software!
Espero que possa ter lhe ajudado!