"""
Você está desenvolvendo um sistema para uma empresa de delivery. O valor da taxa de entrega depende da distância até o cliente e se o pedido foi feito em um dia de chuva.
As regras são:
Para entregas até 5 km, a taxa é R$ 5,00.
Entre 5 e 10 km, a taxa é R$ 8,00.
Acima de 10 km, a taxa é R$ 10,00.
Se estiver chovendo, acrescenta R$ 2,00 à taxa padrão.
O desafio desta atividade é criar um algoritmo em linguagem natural que informe o valor final da entrega.
Para entender melhor como elaborar uma solução para esse desafio, clique na Opinião da Pessoa Instrutora.
"""
def distancia():
try:
km = float(input('Informe a distancia da entrega em km: '))
if km < 0:
print('A distancia não pode ser negativa')
return distancia()
return km
except ValueError:
print('Informe uma distancia valida')
return distancia()
km = distancia()
def chuva():
try:
esta_chovendo = input("Esta chovendo? (s/n): ").strip().lower()
if esta_chovendo == 's':
esta_chovendo = True
return esta_chovendo
elif esta_chovendo == 'n':
esta_chovendo = False
return esta_chovendo
else:
print('Informe "s" para "Sim" ou "n" para "Não"')
return chuva()
except ValueError:
print('Informe se esta chovendo')
return chuva()
esta_chovendo = chuva()
if not esta_chovendo:
taxa = 0
else:
taxa = 2
def obter_valor():
try:
if km <= 5:
valor = 5+taxa
return valor
elif km > 5 and km < 10:
valor = 8+taxa
return valor
elif km > 10:
valor = 10+taxa
return valor
except ValueError:
erro = input('Algo deu errado, seja tentar novamente? (s/n): ')
if erro == 's':
return obter_valor()
else:
print('Encerrando o programa.')
return
except ValueError:
print('Encerrando o programa.')
return
valor_final = round(float(obter_valor()), 2)
print(f'O valor final da entrega é R${valor_final:.2f}')