求大佬教学,不会了,给我整傻了,好复杂

img

img

写成下面这样然后就不会了

img


# encoding=utf-8

# 学生结构体类型
class Student:
    def __init__(self, stu_id, Class, name, grade1, grade2, grade3):
        self.stu_id = stu_id
        self.Class = Class
        self.name = name
        self.grade1 = grade1
        self.grade2 = grade2
        self.grade3 = grade3


# 大小为5的学生结构体数组
stu_list = [0 for i in range(5)]


# 实现学生数据的输入
def stu_info_input():
    for i in range(len(stu_list)):
        stu_id, Class, name, grade1, grade2, grade3 = input().split(' ')
        grade1 = int(grade1)
        grade2 = int(grade2)
        grade3 = int(grade3)
        s = Student(stu_id, Class, name, grade1, grade2, grade3)
        stu_list[i] = s


# 求每个学生3门课程的平均成绩
# 用于存放平均分的列表
lt_avg_grade = []


def avg_grade():
    for stu in stu_list:
        avg_grade = (stu.grade1 + stu.grade2 + stu.grade3) / 3
        lt_avg_grade.append(avg_grade)
        print(stu.name + '的平均成绩:', avg_grade)


# 求出平均分最高的学生并输出该学生的数据
def highestAvgGrade_outputStuInfo():
    highestAvgGrade = max(lt_avg_grade)  # 最高平均分
    stu = stu_list[lt_avg_grade.index(highestAvgGrade)]  # 平均分最高的学生
    print("平均分最高的学生:", stu.stu_id, stu.Class, stu.name, stu.grade1, stu.grade2, stu.grade3)


# 测试运行
if __name__ == '__main__':
    stu_info_input()
    avg_grade()
    highestAvgGrade_outputStuInfo()

数据类型选择不当,应该用字典存储学生信息