-
以下代码中,
Student为存储每个学生信息的类,score_table是以多行文本形式给出的班级期末平均成绩列表:class Student: def __init__(self, name, id_number, avg_score): self.name = name self.id_number = id_number self.avg_score = avg_score score_table = '''学号,姓名,成绩 2001,张三,88.5 2002,李四,78.0 2003,王老五,67.2 2004,白冰冰,87.0 2005,赵晓静,78.0 2006,李四,84.0 2007,张诗萌,79.9 2008,白冰冰,92.3'''请编写一个函数
parse(score_table),实现将score_table中的文本解析为Student的实例的列表并返回。请在以下代码的基础上编写:def parse(score_table): students = [] # 存储学生信息的列表 ... # TODO: 请在此解析 score_table,并将有效信息追加到 students 中 return students students = parse(score_table) print('学号\t姓名\t平均成绩') for student in students: print(f'{student.id_number}\t{student.name}\t{student.avg_score}') -
请通过编程,找出以上
students列表中名字相同的所有人,并将重名学生的全部信息分组打印出来,不同分组(名字不同)之间用空行分割。要求打印信息的样式如下(不要求严格对齐):有 2 个名字为“李四”的学生: 2002 李四 78.0 2006 李四 84.0 有 2 个名字为“白冰冰”的学生: 2004 白冰冰 87.0 2008 白冰冰 92.3 -
请通过编程,为以上
students列表中的每个学生实例附加一个名称为rank的实例变量,其值为一个正整数,即为该学生在所有学生中成绩的排名。最后按照成绩的升序打印所有学生的信息。要求打印信息的样式如下(不要求严格对齐):学号 姓名 成绩 排名 2008 白冰冰 92.3 1 2001 张三 88.5 2 ...注意此题要求实现的功能都是在假设有大量学生时能通过程序进行一些自动化的管理和统计功能,一定要使用循环语句实现,不可通过手工进行统计信息而把代码写死。