定义学生类,含有若干学生数据,求各科成绩最高分和平均分

1.已有若干个学生数据,这些数据包括学号,姓名,Python 程序设计成绩,高等数学成绩和大数据技术成绩,要求定义学生类,并用其成员函数修改各门课程的分数(要求将方法装饰成属性)、求各门课程的最高分、平均分。
求修改代码:
class Student:
def__init__(self,id,name,program,math,data):
self.id=id
self.name=name
self.program=program
self.math=math
self.data=data
@staticmethod
def get_avg(*students):
program_total=0
math_total=0
data_total=0
for i in range(len(students)):
program_total += students[i].program
math_total += students[i].math
data_total += students[i].data
return [program_total/len(students),math_total/len(students),data_total/len(students)]
def get_max(self,*students):
program_max = 0
math_max = 0
data_max = 0
return [max(students.program),max(students.math),max(students.data)]
if name == 'main':
student1=Student('001','张三',55,55,55)
student2=Student('002','李四',66,66,66)
student3=Student('003','王五',77,77,77)
students=[student1,student2,student3]
print('平均分\n程序设计基础:{0},高等数学:{1},大数据:{2}'.format(Student.get_avg(*students)[0],Student.get_avg(*students)[1],Student.get_avg(*students)[2]))
print('最高分\n程序设计基础:{0},高等数学:{1},大数据:{2}'.format(Student.get_max(*students)[0],Student.get_max(*students)[1],Student.get_max(*students)[2]))

获取最大值函数这样改写即可:

def get_max(self, *students):

        program = []
        math = []
        data = []
        for i in range(len(students)):
            program.append(students[i].program)
            math.append(students[i].math)
            data.append(students[i].data)

        return [max(program), max(math), max(data)]

如有帮助,请点击采纳按钮支持~~

def get_max(self,*students):
        programs=[i.program for i in students]
        maths=[i.math for i in students]
        datas=[i.data for i in students]
        return [max(programs),max(maths),max(datas)]


 觉得有用的话采纳一下哈

实验4要截至了吗这是?哈哈哈哈
写好了发我一份 谢谢了 OvO