python 成绩排序

地址:

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b?tpId=37&tqId=21291&rp=1&ru=%2Fta%2Fhuawei&qru=%2Fta%2Fhuawei%2Fquestion-ranking&tab=answerKey

 1 '''
 2 题目描述
 3 查找和排序
 4 
 5 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
 6 都按先录入排列在前的规则处理。
 7 
 8 例示:
 9 jack      70
10 peter     96
11 Tom       70
12 smith     67
13 
14 从高到低  成绩
15 peter     96
16 jack      70
17 Tom       70
18 smith     67
19 
20 从低到高
21 smith     67
22 jack      70
23 Tom       70
24 peter     96
25 
26 注:0代表从高到低,1代表从低到高
27 
28 本题含有多组输入数据!
29 输入描述:
30 输入多行,先输入要排序的人的个数,然后分别输入他们的名字和成绩,以一个空格隔开
31 
32 输出描述:
33 按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开
34 
35 示例1
36 输入
37 3
38 0
39 fang 90
40 yang 50
41 ning 70
42 输出
43 fang 90
44 ning 70
45 yang 50
46 '''
47 
48 while(True):
49     try:
50         n = int(input())
51     except:
52         break
53     rever = int(input())
54     l = []
55     for i in range(n):
56         l.append(input().split())
57 
58     l.sort(key=lambda i:int(i[1]),reverse=[True,False][rever])
59     for i in range(n):
60         print(l[i][0],l[i][1])
原文地址:https://www.cnblogs.com/whycai/p/14753003.html