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



我必须创建一个函数,通过参数接收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)

为了清晰起见,我省略了参数检查等内容,但基本思想是:按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

最新更新