-2
I’d like to know how to get the program back to the first if
or elif
if the user’s answer does not fit the distance question.
I put a else
with a print("responda sim ou não")
and if the answer is not s | n
the program is finished. But I want it to ask the distance again until the user answers correctly.
nome = input("Qual é o seu nome? \n")
pergunta = (input("{}, você sabe a distância?\n ".lower().format(nome)))
if pergunta.startswith('s'):
distancia = float(input("qual é a distância?\n"))
aproveitamento = float(input('{}, quantos quilometros seu carro faz por litro? \n'.format(nome)))
precogas = int(input('{}, qual é o preço da gasolina atualmente?\n'.format(nome)))
consumo = distancia / aproveitamento
print("Foram gastos ", consumo, " litros de combustível.")
custo = consumo * precogas
print("E você vai gastar", custo, "reais")
elif pergunta.startswith('n'):
tempohoras = float(input("{}, digite o tempo gasto na viagem (Apenas quantas horas): \n".format(nome)))
tempominutos = float(input("{}, e quantos minutos? \n".format(nome)))
velocidade = float(input('{}, digite agora a velocidade média durante a viagem:\n'.format(nome)))
aproveitamento = float(input('{}, quantos quilometros seu carro faz por litro? \n'.format(nome)))
precogas = float(input('{}, qual é o preço da gasolina atualmente?\n'.format(nome)))
consumo = (velocidade * (tempohoras + (tempominutos / 60))) / aproveitamento
print("Foram gastos ", consumo, " litros de combustível.")
custo = consumo * precogas
distancia = velocidade * (tempohoras + (tempominutos / 60))
print("E você vai gastar", custo, "reais")
print("A distância percorrida foi de ", distancia, "quilometros.")
else:
print ("responda sim ou não")
The first thing here would be you [Dit] and reduce the code to a [mcve] (this lot of input is irrelevant to the problem, reduce the code only to what matters). Use the button now
{ }
from the formatting bar or control/command k to format the code block.– Bacco