解题思路:

首先需要计算每个学生的总成绩,并将总成绩作为一个新的键值对添加到每个元组中。然后使用sorted方法按照总成绩进行排序,并使用for循环打印输出。

代码实现:

grades = [ ('202001',85,92,73), ('202002',68,70,53), ('202003',72,58,77), ('202004',95,89,91), ('202005',65,72,89) ]

计算总成绩并添加到每个元组中

for i in range(len(grades)): total = sum(grades[i][1:]) grades[i] = grades[i] + (total,)

按照总成绩进行排序

sorted_grades = sorted(grades, key=lambda x: x[4], reverse=True)

打印输出

for grade in sorted_grades: print(grade[0], grade[1], grade[2], grade[3], grade[4]

必答 简答题 给定一个学生成绩列表grades其中每一项为学号和3门课程成绩组成的四元组。示例代码如下:grades = 202001859273 202002687053 202003725877 202004958991 202005657289要求:按照总成绩从高到底排序打印输出如下图所示:202004 95 89 91 275 202001 85 92 73 250 20200

原文地址: https://www.cveoy.top/t/topic/cjny 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录