如何计算一个班级的平均成绩学生.py

2024-10-02 16:26:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为student的pythonclass,包含变量和方法。你知道吗

每个学生都有名字、年龄和成绩表。你知道吗

我有一个方法AVGofGrades(),它获取等级列表并返回平均值。你知道吗

我不知道如何创建一个函数,从student对象获取这个成绩列表并循环返回avgerage。你知道吗

到目前为止,我有:

class student():
    def __init__(self,name,age, *grades):
        self.stdName=name
        self.stdAge = age
        self.stdGrade = grades


    def getName(self):
        return self.stdName

    def setName(self,Name):
        self.stdName = Name


    def getAge(self):
        return self.stdAge

    def setAge(self, Age):
        self.stdAge = Age

    def getGrade(self):

        gradeLevel = None

        if AVGofGrades(self.stdGrade) >=20:
            gradeLevel =  "A"
        elif self.stdGrade >=18:
            gradeLevel =  "B"
        elif self.stdGrade >=15:
            gradeLevel = "C"
        else:
            gradeLevel = "F"

        print("the student {0}, have a grade {1}".format(self.stdName, gradeLevel))

    def setGrade(self,*Grades):
        self.stdGrade = Grades

    def AVGofGrades(self, *student):
        result = 0
        for i in student:
            student[2]



std1 = student("georges", 17, 80,23,50,34,80,78)

Tags: 方法nameself列表agereturndefstudent
2条回答

你的成绩已经在self.stdGrade

因此,您不需要在方法AVGofGrades中传递任何内容,因为您提供了创建Student对象时所需的所有参数。你知道吗

您的AVGofGrades可以如下所示:

def AVGofGrades(self):
    return sum(self.stdGrade)/len(self.stdGrade)

现在,您可以创建该类的实例并获得如下AVGofGrades:

std1 = Student("georges", 17, 80,23,50,34,80,78)
print(std1.AVGofGrades())

这是一个简单的数学表达式:

    def AVGofGrades(self, *student):
        return sum(student) / len(student)

不过,您应该称之为self.AVGofGrades(),而不仅仅是AVGofGrades()。你知道吗

相关问题 更多 >