2
respostas

Minha resolução

Olá,

segue a minha resolução utilizando a multiplicação:

#Calculando pedágio

Distância_Pecorrida=int(input("Informe a distância percorrida em km:"))
Valor_do_Pedágio=10
if Distância_Pecorrida<=100:
print(f"Valor do Pedágio: R${Valor_do_Pedágio1:.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}")

2 respostas

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!

Olá Evandro estou bem.

Muito obrigado pelas dicas.