Olá, Roberson. Como vai?
Seja muito bem-vindo ao fórum! Parabéns por publicar o seu primeiro post e por resolver o desafio.
A sua ideia de usar a multiplicação direta no print (Valor_do_Pedagio * 3) dentro do bloco else ficou excelente e muito inteligente. Isso economiza linhas de código e evita que você precise criar variáveis desnecessárias na memória do computador.
Para que o seu código funcione perfeitamente no Python e não apresente nenhum erro na hora de rodar, precisamos fazer dois pequenos ajustes técnicos:
1. Corrigir o nome das variáveis nos prints
Dentro dos blocos if e elif, você digitou Valor_do_Pedágio1 e Valor_do_Pedágio2. Como essas variáveis com os números "1" e "2" no final não foram criadas antes, o Python vai disparar um erro de nome (NameError). Seguindo a lógica da multiplicação que você usou no final, o correto seria fazer Valor_do_Pedágio * 1 e Valor_do_Pedágio * 2.
2. Ajustar a Indentação (Recuo do código)
No Python, a indentação é obrigatória. Os comandos print precisam de um recuo de 4 espaços para o computador entender que eles pertencem àquela condição específica.
Aqui está o seu código corrigido e pronto para rodar perfeitamente:
# Calculando pedágio
Distância_Pecorrida = int(input("Informe a distância percorrida em km: "))
Valor_do_Pedágio = 10
# Adicionado o recuo correto e corrigida a lógica das variáveis
if Distância_Pecorrida <= 100:
print(f"Valor do Pedágio: R${Valor_do_Pedágio * 1:.2f}")
elif Distância_Pecorrida > 100 and Distância_Pecorrida <= 200:
print(f"Valor do Pedágio: R${Valor_do_Pedágio * 2:.2f}")
else:
print(f"Valor do Pedágio: R${Valor_do_Pedágio * 3:.2f}")
Agregando Valor: Simplificando Condições no Python
Para te ajudar a deixar o seu código ainda mais elegante e com "cara de mercado", vale a pena conhecer duas características muito legais da sintaxe do Python:
- Remover o
and redundante: No bloco elif, você testou Distância_Pecorrida > 100 and Distância_Pecorrida <= 200. Porém, se o programa chegou até o elif, o computador já sabe que a distância é maior que 100 (afinal, se fosse menor ou igual, ela teria parado no primeiro if). Então você pode remover a primeira parte e deixar apenas elif Distância_Pecorrida <= 200:. - Evitar acentos em variáveis: Embora o Python 3 aceite acentos como
Distância_Pecorrida, a boa prática universal na programação é escrever nomes de variáveis sem acentuação (distancia_percorrida) para evitar problemas de compatibilidade quando você for salvar seus arquivos ou subir códigos para servidores web.
Sua lógica matemática foi excelente para matar o problema do pedágio. Continue praticando e postando suas resoluções aqui no fórum!
Espero que possa ter lhe ajudado!