定义一个表示学生信息的Student类,封装类的属性 要求: (1)Student类的属性有:学号,姓名,python成绩,其中成绩、学号是私有变量 (2)Student类的方法有:封装成绩和学号的set,get的方法,输出信息 创建5个该类的对象,输出5个学生的信息,并输出5个学生的python平均分。
时间: 2024-02-29 11:53:18 浏览: 40
好的,以下是我实现的代码:
```python
class Student:
def __init__(self, id, name, score):
self.__id = id
self.__name = name
self.__score = score
def set_id(self, id):
self.__id = id
def set_score(self, score):
self.__score = score
def get_id(self):
return self.__id
def get_score(self):
return self.__score
def output_info(self):
print(f"学号:{self.__id},姓名:{self.__name},成绩:{self.__score}")
students = [
Student("001", "张三", 90),
Student("002", "李四", 80),
Student("003", "王五", 70),
Student("004", "赵六", 60),
Student("005", "钱七", 50)
]
total_score = 0
for student in students:
student.output_info()
total_score += student.get_score()
average_score = total_score / len(students)
print(f"平均分为:{average_score}")
```
上述代码定义了一个 `Student` 类,包含学号、姓名、成绩等属性及相应的 set、get 方法和输出信息的方法。然后创建了 5 个学生对象,并输出了每个学生的信息。最后计算了这 5 个学生的平均分并输出。
需要注意的是,为了将学号和成绩属性设为私有变量,我在属性名前加上了双下划线 `__`,这样可以避免外部直接访问这些属性。但是我们仍然可以通过 set 和 get 方法来操作这些属性。