学生管理系统(自我维护版)

随着信息技术的不断发展,传统的学生管理方式已显得越来越不够高效。因此,设计和开发一个简单的学生管理系统正是解决这一问题的有效方法。本文将介绍一个用Python编写的学生管理系统(自我维护版),该系统允许用户增加、删除、查看学生信息,并且可以持久化存储数据。

1. 系统功能

该学生管理系统主要具有以下功能:

  • 添加学生信息
  • 删除学生信息
  • 查看所有学生信息
  • 保存学生信息到文件
  • 从文件加载学生信息

2. 系统设计

为了实现上述功能,我们需要创建一个学生类来存储学生的信息,然后使用一个列表来管理学生对象。接下来,我们将实现方法来完成各项功能。

3. 代码示例

以下是实现学生管理系统的代码示例:

import json

class Student:
    def __init__(self, student_id, name, age):
        self.student_id = student_id
        self.name = name
        self.age = age

    def to_dict(self):
        return {"id": self.student_id, "name": self.name, "age": self.age}

class StudentManager:
    def __init__(self):
        self.students = []
        self.load_students()

    def add_student(self, student):
        self.students.append(student)

    def remove_student(self, student_id):
        self.students = [s for s in self.students if s.student_id != student_id]

    def view_students(self):
        for student in self.students:
            print(f"ID: {student.student_id}, Name: {student.name}, Age: {student.age}")

    def save_students(self, filename='students.json'):
        with open(filename, 'w', encoding='utf-8') as f:
            json.dump([s.to_dict() for s in self.students], f, ensure_ascii=False, indent=4)

    def load_students(self, filename='students.json'):
        try:
            with open(filename, 'r', encoding='utf-8') as f:
                student_list = json.load(f)
                self.students = [Student(s['id'], s['name'], s['age']) for s in student_list]
        except FileNotFoundError:
            self.students = []

def main():
    manager = StudentManager()

    while True:
        print("\n学生管理系统")
        print("1. 添加学生")
        print("2. 删除学生")
        print("3. 查看学生")
        print("4. 保存学生信息")
        print("5. 退出")

        choice = input("请选择操作:")

        if choice == '1':
            student_id = input("请输入学生ID:")
            name = input("请输入学生姓名:")
            age = input("请输入学生年龄:")
            student = Student(student_id, name, age)
            manager.add_student(student)
            print("学生添加成功!")

        elif choice == '2':
            student_id = input("请输入要删除的学生ID:")
            manager.remove_student(student_id)
            print("学生删除成功!")

        elif choice == '3':
            print("当前学生列表:")
            manager.view_students()

        elif choice == '4':
            manager.save_students()
            print("学生信息已保存!")

        elif choice == '5':
            print("退出系统。")
            break

        else:
            print("无效选择,请重新选择。")

if __name__ == "__main__":
    main()

4. 代码解析

以上代码首先定义了 Student 类来表示学生,包含学生的 ID、姓名和年龄。在 StudentManager 类中,主要实现了对学生信息的增删查改,并采用 JSON 格式来持久化保存数据。

  • add_student 方法用于添加学生信息。
  • remove_student 方法根据学生 ID 删除对应学生。
  • view_students 方法查看当前所有学生信息。
  • save_students 方法将学生信息保存到本地文件。
  • load_students 方法从文件中读取学生数据并加载到系统中。

5. 总结

此次学生管理系统的设计与实现简单明了,使用 Python 的面向对象特性,使得代码结构清晰。学生信息可通过文件持久化存储,使得系统在重新启动后仍能保留数据。通过这样一个系统,学校的管理人员可以快速、高效地管理学生信息,提高管理效率。未来,我们可以考虑扩展更多功能,如与数据库连接、完善用户权限管理等。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部