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

Python编写一个简单的学生管理系统

发布时间:2023-12-04 14:10:32

以下是一个简单的学生管理系统的Python代码示例:

# 定义学生类
class Student:
    def __init__(self, id, name, age):
        self.id = id
        self.name = name
        self.age = age
    
    def __str__(self):
        return f"学号:{self.id},姓名:{self.name},年龄:{self.age}"

# 定义学生管理系统类
class StudentManagementSystem:
    def __init__(self):
        self.students = []
    
    def add_student(self, student):
        self.students.append(student)
    
    def remove_student(self, id):
        for student in self.students:
            if student.id == id:
                self.students.remove(student)
                return True
        return False
    
    def get_student(self, id):
        for student in self.students:
            if student.id == id:
                return student
        return None
    
    def get_all_students(self):
        return self.students

# 使用学生管理系统示例
if __name__ == "__main__":
    s1 = Student("001", "张三", 18)
    s2 = Student("002", "李四", 19)
    s3 = Student("003", "王五", 20)
    
    system = StudentManagementSystem()
    system.add_student(s1)
    system.add_student(s2)
    system.add_student(s3)
    
    print("当前学生列表:")
    for student in system.get_all_students():
        print(student)
    
    student_id = input("请输入要查找的学生学号:")
    student = system.get_student(student_id)
    if student:
        print("查找到的学生信息为:")
        print(student)
    else:
        print(f"没有找到学号为{student_id}的学生")
    
    student_id = input("请输入要删除的学生学号:")
    if system.remove_student(student_id):
        print(f"学号为{student_id}的学生删除成功")
    else:
        print(f"没有找到学号为{student_id}的学生")
    
    print("删除后学生列表:")
    for student in system.get_all_students():
        print(student)

该学生管理系统使用了面向对象的方法,主要包括两个类:StudentStudentManagementSystem

Student类中,每个学生对象有学号、姓名和年龄三个属性,并重写了__str__方法用于输出学生信息。

StudentManagementSystem类中,学生列表被存储在一个students属性中。该类提供了增加学生、删除学生、查找学生和获取全部学生信息的方法。

在使用示例中,首先创建了三个学生对象,并将它们添加到学生管理系统中。然后打印出当前学生列表。接下来根据输入的学号查找学生信息,再根据输入的学号删除学生信息,并打印删除后的学生列表。

这只是一个简单的学生管理系统示例,实际项目中可能需要更多的功能和处理逻辑。