如何从字典列表中返回最高分数?

2024-09-29 03:38:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须创建一个函数,通过参数接收4个学生(字典),并返回平均值最高的学生

def create_student(nom: str, cod: str, gen: str, carr: str, media: float, ssc: float) -> dict:
    dic_student = {"name": nom,
                   "code": cod,
                   "sex": gen,
                   "career": carr,
                   "media": media,
                   "ssc": ssc}
    return dic_student

# Main program
student1 = create_student("Juan Pérez", "201824736", "male", "Biology", 3.78, 0.7)
student2 = create_student("Ana Gavalda", "201724736", "female", "political science", 4.25, 3.5)
student3 = create_student("Bastien Bosa", "201815217", "male", "Economy", 3.21, 2.3)
student4 = create_student("Catalina Gómez", "201715400", "female", "Art", 3.8, 4)

print("The students are:\n", "student 1:\n", student1,
  "\nstudent 2:\n", student2,
  "\nstudent 3:\n", student3,
  "\nstudent4:\n", student4)

Tags: createfloatmedianomstudent学生malecod
1条回答
网友
1楼 · 发布于 2024-09-29 03:38:51

为了清楚起见,我省略了参数检查之类的内容,但基本思想是:按media对学生进行排序,然后返回具有最高值的学生

例如:

def find_top_student(*students):
    sorted_students = sorted(students, key=lambda s: s["media"], reverse=True)
    return sorted_students[0]

top_student = find_top_student(student1, student2, student3, student4)

print(top_student["name"])

输出:

Ana Gavalda

相关问题 更多 >