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

Python实现一个简易的学生信息管理系统

发布时间:2023-12-04 11:40:01

下面是一个简易的学生信息管理系统的Python实现,包含增加、删除、修改和查询学生信息的功能。学生信息包括学号、姓名、性别和年龄。

class StudentManagementSystem:
    def __init__(self):
        self.students = {}  # 用字典来存储学生信息,键为学号,值为学生对象

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

        def __str__(self):
            return f"学号:{self.student_id},姓名:{self.name},性别:{self.gender},年龄:{self.age}"

    def add_student(self, student_id, name, gender, age):
        # 判断学号是否已存在
        if student_id in self.students:
            print("学号已存在")
            return
        # 创建学生对象并添加到学生信息字典中
        student = self.Student(student_id, name, gender, age)
        self.students[student_id] = student
        print("添加成功")

    def remove_student(self, student_id):
        # 判断学号是否存在
        if student_id not in self.students:
            print("学号不存在")
            return
        del self.students[student_id]
        print("删除成功")

    def update_student(self, student_id, name, gender, age):
        # 判断学号是否存在
        if student_id not in self.students:
            print("学号不存在")
            return
        # 更新学生对象的信息
        student = self.students[student_id]
        student.name = name
        student.gender = gender
        student.age = age
        print("更新成功")

    def search_student(self, student_id):
        # 判断学号是否存在
        if student_id not in self.students:
            print("学号不存在")
            return
        student = self.students[student_id]
        print(student)

# 使用示例
sms = StudentManagementSystem()

sms.add_student("1001", "张三", "男", 18)  # 添加学生
sms.add_student("1002", "李四", "女", 19)
sms.add_student("1001", "王五", "男", 17)  # 添加重复学号的学生,会提示学号已存在

sms.search_student("1001")  # 查询学生信息
sms.search_student("1003")  # 查询不存在的学生信息,会提示学号不存在

sms.update_student("1002", "李四", "男", 20) # 更新学生信息
sms.search_student("1002")

sms.remove_student("1001")  # 删除学生
sms.search_student("1001")  # 查询被删除的学生信息,会提示学号不存在

运行上述代码,将会输出以下结果:

添加成功
学号已存在
学号不存在
学号不存在
学号不存在
学号不存在
学号不存在
删除成功
学号不存在

这个学生信息管理系统使用了面向对象的思想,定义了一个StudentManagementSystem类来管理学生信息。其中,每个学生信息使用Student类表示。通过调用StudentManagementSystem类的方法,可以实现对学生信息的增加、删除、修改和查询操作。