华为OD机试真题-智能成绩表-2023年OD统一考试(C卷)---Python3--开源

题目:

考察内容:

sort(双排序)+ if + dict(keys;items())

代码:

python 复制代码
"""
analyze:

input:
int n 学生人数; int m 科目数量
科目名称(不重复)
人名(不会重名) + 科目成绩
。。。。
。。。。
排名的科目

output:
按成绩排序的名字,空格隔开(成绩相同,按照学生姓名字典排序)
eg:
3 2
yuwen shuxue
fangfang 95 90
xiaohua 88 95
mimmim 100 95
shuxue

3 2
yuwen shuxue
fangfang 95 90
xiaohua 88 95
mimmim 100 82
zhongfen

way

"""

while True:
    n, m = map(int, input().split())
    subject = input().split()
    student_score = dict()
    for _ in range(n):
        temp = input().split()
        student_score.update({temp[0]: temp[1:]})
    sort_subject = input()
    # print(n, m)
    # print(subject)
    # print(student_score)
    # print(sort_subject)
    if sort_subject in subject:
        index = subject.index(sort_subject)
        res = sorted(student_score.items(), key=lambda x: (-int(x[1][index]), x[0]))
    else:
        # 按照总分进行排序
        res = sorted(student_score.items(), key=lambda x: (-sum(map(int, x[1])), x[0]))
    print(" ".join(dict(res).keys()))
相关推荐
大可不必了5 小时前
03 函数定义和调用
开发语言·python
I_belong_to_jesus5 小时前
C++关于分支预测的优化1
开发语言·c++·算法
承渊政道6 小时前
【Python编程—从入门到实践】(记分与闯关:用Python+Pygame,打造越战越精彩的太空大战!)
开发语言·python·pycharm·游戏程序·pygame
爱学习的程序媛6 小时前
Python常用框架梳理
开发语言·后端·python·ai·web·后端框架·python框架
eggwyw7 小时前
Anaconda安装卸载的详细流程指南
开发语言·python
another heaven12 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
无限码力13 小时前
2026华为OD机试真题 10月18日 新系统 【小花的AI Workflow设计】
华为od·华为od机考·华为od机试真题·华为od机试·华为od新系统机试真题
SomeOtherTime13 小时前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust
apcipot_rain13 小时前
C++转Java日记(10)
java·开发语言
总要学点什么14 小时前
第105篇:三维特效-流动图片墙体效果——让箭头沿墙长滚,它俩竟是同一份代码
开发语言·javascript·ecmascript·gis·webgl·材质·cesium