Python 使用类实现一个简单的学生成绩管理系统

Document 对象参考手册 Python3 实例

我们将使用 Python 类来实现一个简单的学生成绩管理系统。这个系统将允许我们添加学生、记录他们的成绩,并计算每个学生的平均成绩。

实例

class Student:
    def __init__(self, name):
        self.name = name
        self.grades = []

    def add_grade(self, grade):
        self.grades.append(grade)

    def average_grade(self):
        return sum(self.grades) / len(self.grades) if self.grades else 0

class GradeManager:
    def __init__(self):
        self.students = []

    def add_student(self, name):
        self.students.append(Student(name))

    def get_student(self, name):
        for student in self.students:
            if student.name == name:
                return student
        return None

    def add_grade_to_student(self, name, grade):
        student = self.get_student(name)
        if student:
            student.add_grade(grade)
        else:
            print(f"Student {name} not found.")

    def show_average_grades(self):
        for student in self.students:
            print(f"{student.name}'s average grade is {student.average_grade():.2f}")

# 示例使用
manager = GradeManager()
manager.add_student("Alice")
manager.add_student("Bob")

manager.add_grade_to_student("Alice", 90)
manager.add_grade_to_student("Alice", 85)
manager.add_grade_to_student("Bob", 78)
manager.add_grade_to_student("Bob", 82)

manager.show_average_grades()

代码解析:

  1. Student 类:表示一个学生,包含学生的姓名和成绩列表。add_grade 方法用于添加成绩,average_grade 方法用于计算平均成绩。
  2. GradeManager 类:管理所有学生。add_student 方法用于添加学生,get_student 方法用于根据姓名查找学生,add_grade_to_student 方法用于为指定学生添加成绩,show_average_grades 方法用于显示所有学生的平均成绩。
  3. 示例使用部分:创建了一个 GradeManager 实例,添加了两个学生,并为每个学生添加了成绩,最后显示了每个学生的平均成绩。

输出结果:

Alice's average grade is 87.50
Bob's average grade is 80.00

Document 对象参考手册 Python3 实例