Skip to content

Instantly share code, notes, and snippets.

@onhernandes
Created April 30, 2020 18:54
Show Gist options
  • Save onhernandes/8f68d9b410cf50814c4b875c6a83965c to your computer and use it in GitHub Desktop.
Save onhernandes/8f68d9b410cf50814c4b875c6a83965c to your computer and use it in GitHub Desktop.
#!/usr/bin/python
hoteis = [
{
"nome" : "lakewood",
"classificacao" : 3,
"regular" : {
"dia_da_semana" : 110,
"fim_de_semana" : 90,
},
"reward" : {
"dia_da_semana" : 80,
"fim_de_semana" : 80,
},
},
{
"nome" : "badgewood",
"classificacao" : 4,
"regular" : {
"dia_da_semana" : 160,
"fim_de_semana" : 60,
},
"reward" : {
"dia_da_semana" : 110,
"fim_de_semana" : 50,
},
},
{
"nome": "ridgewood",
"classificacao" : 5,
"regular" : {
"dia_da_semana" : 220,
"fim_de_semana" : 150,
},
"reward" : {
"dia_da_semana" : 100,
"fim_de_semana" : 40,
},
},
]
dias_da_semana = {
"seg":"dia_da_semana",
"ter":"dia_da_semana",
"qua":"dia_da_semana",
"qui":"dia_da_semana",
"sex":"dia_da_semana",
"sab":"fim_de_semana",
"dom":"fim_de_semana",
}
# texto = input("Olá! Digite o tipo de cliente que você é e os dias que você quer viajar ( Exemplo: Regular: 16Dez2018(mon) ): ")
texto = 'regular: 16Mar2009(sab), 17Mar2009(sab), 20Mar2009(sab)'
tipo_de_cliente, datas = texto.split(":")
datas = [ e.strip() for e in datas.split(',')]
datas = [ e[e.index('(') + 1:e.index(')')] for e in datas ]
hotel_mais_barato = []
for hotel in hoteis:
total = 0
for data in datas:
tipo = tipo_de_cliente.lower()
dia_da_semana_ou_fds = dias_da_semana[data]
total += hotel[tipo][dia_da_semana_ou_fds]
hotel_mais_barato.append({
"total": total,
"nome": hotel.get("nome"),
"classificacao": hotel.get("classificacao")
})
resultado = sorted(hotel_mais_barato, key=lambda it: it.get("total"))
if all([ resultado[0].get("total") == curr.get("total") for curr in resultado ]):
resultado = sorted(hotel_mais_barato, key=lambda it: it.get("classificacao"))
print(tipo_de_cliente, resultado)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment