Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Elas devem ser ordenadas primeiramente de forma decrescente por peso.
- #Caso duas ou mais apresentarem o mesmo peso elas devem ser ordenadas de forma ascendente pela idade
- # após pela altura e caso ainda persista empate, pelo nome.
- from operator import itemgetter, attrgetter
- class Renas():
- def __init__(self,name,weight,age,height):
- self.name = name
- self.weight = weight
- self.age = age
- self.height = height
- def __repr__(self):
- return "%s %s %s %s" %(self.name,self.weight,self.age,self.height)
- def get_name(self):
- return self.name
- def get_weight(self):
- return self.weight
- def get_age(self):
- return self.age
- def get_height(self):
- return self.height
- def multisort(xs, specs):
- for key, reverse in reversed(specs):
- xs.sort(key=attrgetter(key), reverse=reverse)
- return xs
- while(True):
- try:
- numberTests = int(input())
- for i in range(numberTests):
- total, utilizadas = input().split(" ")
- total = int(total)
- utilizadas = int(utilizadas)
- lista = [None]*total
- elements = [None]*utilizadas
- for j in range(total):
- name,weight,age,height = input().split(" ")
- name = str(name)
- weight = int(weight)
- age = int(age)
- height = float(height)
- a = Renas(name,weight,age,height)
- lista[j] = a
- #for i in range(len(lista)):
- # print('{} : {}-{}-{}'.format(lista[i].name,lista[i].weight,lista[i].age,lista[i].height))
- #produtos_ordenados = sorted(lista, key=attrgetter('weight'), reverse=True)
- a = multisort(list(lista), (('weight',True),('age',False),('height',False),('name',False)))
- print("CENARIO {%d}" %(i+1))
- for i in range(utilizadas):
- print('{} - {}'.format(i+1,a[i].name))
- #quick_sort(lista,0,len(lista), lambda x,y: x.weight < y.weight)
- #for i in range(len(produtos_ordenados)):
- # print(produtos_ordenados[i])
- #print('\n')
- #for i in range(len(produtos_ordenados2)):
- # print(produtos_ordenados2[i])
- except EOFError:
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement