【机试题(实现语言:python3)】成绩排序---list sort

题目描述
查找和排序

题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
都按先录入排列在前的规则处理。

例示:
jack 70
peter 96
Tom 70
smith 67

从高到低 成绩
peter 96
jack 70
Tom 70
smith 67

从低到高

smith 67

jack 70

Tom 70
peter 96

注:0代表从高到低,1代表从低到高

本题含有多组输入数据!
输入描述:

输入多行,先输入要排序的人的个数,然后分别输入他们的名字和成绩,以一个空格隔开

输出描述:

按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开

示例1
输入

3
0
fang 90
yang 50
ning 70

输出

fang 90
ning 70
yang 50

代码实现如下:

def func():
    while True:
        try:
            n =int(input())
            reverse = int(input())
            if reverse == 0:
                reverse = True
            elif  reverse == 1:
                reverse = False
            lists = []
            for i in range(n):
                list_v = []
                input1 = input().split()
                list_v.extend(input1)
                lists.append(list_v)
            
            lists.sort(key=lambda x:int(x[1]),reverse=reverse)
            #print(lists)
            for i in lists:
                print(' '.join(i))
        except Exception as e:
            #print(e)
            break

if __name__ == '__main__':
    func()
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值