gradebook 类设计:要求定义coursename、teacher 等属性,功能实现 set and get course Name, set and get teacher 等方法・
时间: 2024-12-21 20:23:31 浏览: 20
在Python中,我们可以创建一个名为`Gradebook`的类来满足这个需求。这个类可以包含学生的成绩列表,并提供设置和获取课程名称(`course_name`)和教师(`teacher`)的基本属性。同时,我们还需要添加用于管理学生分数的方法,比如添加新课程、添加学生分数等。
以下是`Gradebook`类的一个简单实现:
```python
class Gradebook:
def __init__(self):
self.course_name = ""
self.teacher = ""
self.students_scores = {}
# 设置课程名称
def set_course_name(self, name):
self.course_name = name
# 获取课程名称
def get_course_name(self):
return self.course_name
# 设置教师
def set_teacher(self, teacher):
self.teacher = teacher
# 获取教师
def get_teacher(self):
return self.teacher
# 添加学生分数(假设学生名是字符串)
def add_student_score(self, student_name, score):
if student_name not in self.students_scores:
self.students_scores[student_name] = []
self.students_scores[student_name].append(score)
# 打印所有学生的平均分(示例)
def print_average_scores(self):
total_scores = {name: sum(scores) for name, scores in self.students_scores.items()}
average_scores = {name: total_scores[name] / len(scores) for name, scores in self.students_scores.items() if scores}
return average_scores
# 使用示例
gradebook = Gradebook()
gradebook.set_course_name("数学")
gradebook.set_teacher("张老师")
gradebook.add_student_score("小明", 90)
gradebook.add_student_score("小红", 85)
average_scores = gradebook.print_average_scores()
print(f"课程'{gradebook.get_course_name()}'的平均分:{average_scores}")
```
阅读全文