with open('test6.txt', 'r') as f: lines = f.readlines() header = lines[0].strip().split(',') data = [] for line in lines[1:]: student = line.strip().split(',') student_data = { header[0]: student[0], header[1]: student[1], header[2]: int(student[2]), header[3]: int(student[3]), header[4]: int(student[4]), 'total': int(student[2]) + int(student[3]) + int(student[4]) } data.append(student_data) sorted_data = sorted(data, key=lambda x: x['total'], reverse=True) for i, student in enumerate(sorted_data): student['rank'] = i + 1 header.insert(0, '排名') print("{:<10}{:<10}{:<10}{:<10}{:<10}{:<10}{:<10}".format(*header)) for student in sorted_data: print("{:<10}{:<10}{:<10}{:<10}{:<10}{:<10}{:<10}".format(student['rank'], student[header[1]], student[header[2]], student[header[3]], student[header[4]], student['total'], student[header[0]]))
时间: 2024-04-21 13:29:46 浏览: 66
python2.x基础教程
这段代码是用来读取一个名为'test6.txt'的文件,文件中包含学生的成绩信息。首先读取文件,将每一行的数据分别存储到列表中。然后将每个学生的信息存储到字典中,并计算出总分和排名。最后,将所有学生的信息按照总分从高到低排序,并将排名插入到每个学生信息的字典中。最后,将表头和学生信息打印出来,以表格形式展示。
阅读全文