Python 使用类实现一个简单的学生成绩管理系统
我们将使用 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()
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()
代码解析:
Student
类:表示一个学生,包含学生的姓名和成绩列表。add_grade
方法用于添加成绩,average_grade
方法用于计算平均成绩。GradeManager
类:管理所有学生。add_student
方法用于添加学生,get_student
方法用于根据姓名查找学生,add_grade_to_student
方法用于为指定学生添加成绩,show_average_grades
方法用于显示所有学生的平均成绩。- 示例使用部分:创建了一个
GradeManager
实例,添加了两个学生,并为每个学生添加了成绩,最后显示了每个学生的平均成绩。
输出结果:
Alice's average grade is 87.50 Bob's average grade is 80.00
点我分享笔记