欢迎访问宙启技术站
智能推送

用Python编写的学生成绩管理系统

发布时间:2023-12-04 19:46:30

学生成绩管理系统是一个用于管理学生信息和成绩的软件,它可以方便地对学生信息进行添加、修改、查询和删除操作,同时也可以对学生的成绩进行录入和查询。下面是一个用Python编写的学生成绩管理系统的示例代码:

class Student:
    def __init__(self, name, id):
        self.name = name
        self.id = id
        self.scores = {}
    
    def add_score(self, subject, score):
        self.scores[subject] = score
    
    def get_score(self, subject):
        if subject in self.scores:
            return self.scores[subject]
        else:
            return None
    
    def __str__(self):
        return f"Name: {self.name}, ID: {self.id}"

class ScoreManager:
    def __init__(self):
        self.students = {}
    
    def add_student(self, student):
        self.students[student.id] = student
    
    def remove_student(self, id):
        if id in self.students:
            del self.students[id]
    
    def add_score(self, id, subject, score):
        if id in self.students:
            self.students[id].add_score(subject, score)
    
    def get_score(self, id, subject):
        if id in self.students:
            return self.students[id].get_score(subject)
        else:
            return None

    def show_all_students(self):
        for id, student in self.students.items():
            print(student)
    
    def __str__(self):
        return f"Total students: {len(self.students)}"

# 使用例子
manager = ScoreManager()

# 添加学生信息
student1 = Student("Tom", "1")
student2 = Student("Amy", "2")
manager.add_student(student1)
manager.add_student(student2)

# 添加学生成绩
manager.add_score("1", "Math", 90)
manager.add_score("1", "English", 85)
manager.add_score("2", "Math", 92)
manager.add_score("2", "English", 88)

# 查询学生成绩
print("Tom's Math score:", manager.get_score("1", "Math"))
print("Amy's English score:", manager.get_score("2", "English"))

# 删除学生信息
manager.remove_student("1")

# 打印学生信息
manager.show_all_students()

在这个例子中,我们定义了两个类:StudentScoreManagerStudent类表示一个学生对象,包含姓名和学号,并且可以添加和查询该学生的成绩信息。ScoreManager类是一个用于管理学生信息和成绩的管理器,它可以添加、删除学生信息,以及为学生添加和查询成绩。

在使用例子中,我们首先创建了一个ScoreManager对象,然后添加了两个学生信息。接着我们为每个学生添加了数学和英语的成绩。最后,我们查询了一个学生的数学成绩和另一个学生的英语成绩,并且删除了第一个学生的信息。最后,我们打印了目前系统中的学生信息。

这个学生成绩管理系统的例子只是一个简单的示例,你可以根据实际需求对代码进行扩展和修改。比如添加更多的学生信息和成绩属性,实现更复杂的查询功能等。同时你也可以将该系统与数据库进行连接,实现永久保存和管理学生信息和成绩的功能。