学生成绩管理系统
定义一个Student类,包括属性(姓名、成绩)和方法(设置成绩、获取成绩、计算平均成绩)。
实例化多个学生对象并调用方法。
功能说明:
Student 类:
init(self, name):构造方法,初始化学生的姓名和成绩。成绩初始化为空列表,后续可以通过 set_grades 方法来设置成绩。
set_grades(self, grades):设置学生的成绩,grades 是一个成绩列表。
get_grades(self):获取学生的成绩列表。
calculate_average(self):计算学生的平均成绩。如果成绩列表为空,返回 0;否则返回成绩的平均值。
在主程序部分:
创建了三个学生对象 student1、student2 和 student3。
给每个学生设置了成绩(通过 set_grades 方法)。
打印了每个学生的成绩列表和计算出的平均成绩。
class Student:
def __init__(self, name):
"""
初始化学生对象,姓名作为必需的参数。
默认成绩为一个空列表,后续可以通过设置方法来添加成绩。
"""
self.name = name
self.grades = [] # 存储成绩的列表
def set_grades(self, grades):
"""
设置学生的成绩,可以传入一个成绩列表
"""
self.grades = grades
def get_grades(self):
"""
获取学生的成绩
"""
return self.grades
def calculate_average(self):
"""
计算学生的平均成绩,若成绩列表为空则返回0
"""
if len(self.grades) == 0:
return 0
return sum(self.grades) / len(self.grades)
if __name__ == '__main__':
# 实例化多个学生对象
student1 = Student("张三")
student2 = Student("李四")
student3 = Student("王五")
# 设置成绩
student1.set_grades([85, 90, 78])
student2.set_grades([88, 76, 92])
student3.set_grades([65, 70, 75])
# 获取并打印成绩和平均成绩
print(f"{student1.name}的成绩是: {student1.get_grades()},平均成绩是: {student1.calculate_average():.2f}")
print(f"{student2.name}的成绩是: {student2.get_grades()},平均成绩是: {student2.calculate_average():.2f}")
print(f"{student3.name}的成绩是: {student3.get_grades()},平均成绩是: {student3.calculate_average():.2f}")