(python) 学生成绩排序

【问题描述】
对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过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]))

猜你喜欢

转载自blog.csdn.net/qq_62315940/article/details/127994458