本文共 1415 字,大约阅读时间需要 4 分钟。
10
3 2 22 10 58 8 125 5 1 345 3 211 5 233 7 13 8 101 1 7 8800 2 1 1000 2 1000 2 4 250 10 320 6 5 11 9 22 8 33 7 44 10 55 4 2 1 3 8800 2 1 23 2 123 1 8 250 4 2 121 4 516 7 112 9 101 11.63
2 3.63 8 3.63 3 2.11 7 1.69 6 -1.67 9 -2.18 10 -3.26 5 -3.26 4 -12.32#[# [3, 2, 22, 10, 58, 8, 125],# [5, 1, 345, 3, 211, 5, 233, 7, 13, 8, 101],# [1, 7, 8800],# [2, 1, 1000, 2, 1000],# [2, 4, 250, 10, 320],# [6, 5, 11, 9, 22, 8, 33, 7, 44, 10, 55, 4, 2],# [1, 3, 8800],# [2, 1, 23, 2, 123],# [1, 8, 250]#]amountOfPeople = int(input())data = []#对每个数据使用map进行操作for i in range(amountOfPeople): data.append(list(map(int,input().split())))#生成一个二维列表#存放结果的列表 【编号,个数,金额】#[1, 0, 0]#[2, 0, 0]#[3, 0, 0]#[4, 0, 0]#[5, 0, 0]#[6, 0, 0]#[7, 0, 0]#[8, 0, 0]#[9, 0, 0]#[10, 0, 0]output = [[0 for row in range(3)] for column in range(amountOfPeople)]for i in range(amountOfPeople): output[i][0] = i + 1k = 0for i in data: for j in range(i[0]): #金额相加 output[i[j * 2 + 1] - 1][2] += i[j * 2 +2] #发红包扣钱 output[k][2] -= i[j * 2 +2] #抢红包个数加1 output[i[j * 2 + 1] - 1][1] += 1 k += 1#sorte()根据多个标准进行排序sorte(list,key = lambda s:(s[2],s[1],-s[0]))#-s[0] 相反 reverse = True 设置为降序newOutput = sorted(output,key = lambda s:(s[2],s[1],-s[0]),reverse = True)for i in range(amountOfPeople): #print(i) print("{} {:.2f}".format(newOutput[i][0],newOutput[i][2]/100))
转载地址:http://fpwwi.baihongyu.com/