【问题描述】
对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。
【输入形式】
从键盘依次输入最多不超过50个学生的学生姓名和成绩:
第一行输入班级学生人数;
在单独行上输入空格隔开的学生姓名和成绩,其中学生成绩是整数。
【输出形式】
按学生成绩由高到低顺序输出学生姓名和成绩,每行输出一位学生的姓名和成绩,其中姓名(英文)占15位,成绩占5位,均按缺省方式对齐。成绩相同时按输入次序排序。
【输入样例】
4 aaa 50 bbb 70 ccc 65 ddd 90
【输出样例】
############ddd###90 ############bbb###70 ############ccc###65 ############aaa###50 (注意:其中"#"号代表空格)
【样例说明】
输入了四个学生姓名和成绩,按成绩排序输出。
n = int(input())
#人数
my_list = []
#创建一个主列表
for i in range(n):
j = []#创建新列表并添加到主序列表中
my_list.append(j)#将n个列表添加到主列表里面
for i in range(1):
a,b=map(str,input().split(' '))
j.append(a)
j.append(b)
my_list2=sorted(my_list,key=(lambda x:x[1]),reverse=True)#排序
for i in range(n):
print(" {} {}".format(my_list2[i][0],my_list2[i][1]))