使用 Python 开发的学生信息管理系统

本系统旨在帮助老师轻松管理学生信息,提供录入、修改、删除、查找和浏览等功能,并实时将数据保存到本地文件中方便查看。

系统功能模块

该学生信息管理系统包含以下六大模块:

  1. 录入学生信息模块:添加学生的学号、姓名、班级、电话、家庭住址、宿舍号等信息,并保存到文件中。
  2. 修改学生信息模块:根据学生学号查找学生信息,并修改其班级、电话、家庭住址、宿舍号等信息,并保存到文件中。
  3. 删除学生信息模块:根据学生学号或姓名删除学生信息,并保存到文件中。
  4. 查找学生信息模块:根据学生学号或姓名查找学生信息,并显示相关信息。
  5. 浏览所有学生信息模块:显示所有学生的学号、姓名、班级、电话、家庭住址、宿舍号等信息,每个学生信息以行的形式对齐输出。
  6. 退出系统模块:退出系统。

代码实现

class Student:
    '学生类,包含学号、姓名、班级、电话、家庭住址、宿舍号等属性。'
    def __init__(self, id, name, classname, phone, address, dorm):
        self.id = id
        self.name = name
        self.classname = classname
        self.phone = phone
        self.address = address
        self.dorm = dorm

class Manage:
    '管理类,包含录入、修改、删除、查找、浏览所有学生信息等方法。'
    def __init__(self):
        self.filename = 'students.txt'
        self.students = []

    def load_data(self):
        '从文件中读取学生信息。'
        try:
            with open(self.filename, 'r', encoding='utf-8') as f:
                for line in f:
                    line = line.strip()
                    if line:
                        id, name, classname, phone, address, dorm = line.split(',')
                        student = Student(id, name, classname, phone, address, dorm)
                        self.students.append(student)
        except FileNotFoundError:
            pass

    def save_data(self):
        '将学生信息保存到文件中。'
        with open(self.filename, 'w', encoding='utf-8') as f:
            for student in self.students:
                line = '{},{},{},{},{},{}
'.format(student.id, student.name, student.classname, student.phone, student.address, student.dorm)
                f.write(line)

    def add_student(self):
        '录入学生信息。'
        id = input('请输入学号:')
        name = input('请输入姓名:')
        classname = input('请输入班级:')
        phone = input('请输入电话:')
        address = input('请输入家庭住址:')
        dorm = input('请输入宿舍号:')
        student = Student(id, name, classname, phone, address, dorm)
        self.students.append(student)
        self.save_data()
        print('添加成功!')

    def modify_student(self):
        '修改学生信息。'
        id = input('请输入要修改信息的学生学号:')
        for student in self.students:
            if student.id == id:
                print('学号	姓名	班级	电话	家庭住址	宿舍号')
                print('{}	{}	{}	{}	{}	{}'.format(student.id, student.name, student.classname, student.phone, student.address, student.dorm))
                choice = input('请选择要修改的信息(1-班级 2-电话 3-家庭住址 4-宿舍号 0-取消):')
                if choice == '1':
                    classname = input('请输入新的班级:')
                    student.classname = classname
                    self.save_data()
                    print('修改成功!')
                elif choice == '2':
                    phone = input('请输入新的电话:')
                    student.phone = phone
                    self.save_data()
                    print('修改成功!')
                elif choice == '3':
                    address = input('请输入新的家庭住址:')
                    student.address = address
                    self.save_data()
                    print('修改成功!')
                elif choice == '4':
                    dorm = input('请输入新的宿舍号:')
                    student.dorm = dorm
                    self.save_data()
                    print('修改成功!')
                elif choice == '0':
                    print('取消修改!')
                else:
                    print('输入有误!')
                return
        print('没有找到该学生!')

    def delete_student(self):
        '删除学生信息。'
        id_or_name = input('请输入要删除信息的学生学号或姓名:')
        for student in self.students:
            if student.id == id_or_name or student.name == id_or_name:
                self.students.remove(student)
                self.save_data()
                print('删除成功!')
                return
        print('没有找到该学生!')

    def search_student(self):
        '查找学生信息。'
        id_or_name = input('请输入要查找信息的学生学号或姓名:')
        for student in self.students:
            if student.id == id_or_name or student.name == id_or_name:
                print('学号	姓名	班级	电话	家庭住址	宿舍号')
                print('{}	{}	{}	{}	{}	{}'.format(student.id, student.name, student.classname, student.phone, student.address, student.dorm))
                return
        print('没有找到该学生!')

    def show_students(self):
        '浏览所有学生信息。'
        print('学号	姓名	班级	电话	家庭住址	宿舍号')
        for student in self.students:
            print('{}	{}	{}	{}	{}	{}'.format(student.id, student.name, student.classname, student.phone, student.address, student.dorm))

    def start(self):
        '启动系统。'
        self.load_data()
        while True:
            print('===== 学生信息管理系统 =====')
            print('1. 录入学生信息')
            print('2. 修改学生信息')
            print('3. 删除学生信息')
            print('4. 查找学生信息')
            print('5. 浏览所有学生信息')
            print('6. 退出系统')
            choice = input('请选择功能(1-6):')
            if choice == '1':
                self.add_student()
            elif choice == '2':
                self.modify_student()
            elif choice == '3':
                self.delete_student()
            elif choice == '4':
                self.search_student()
            elif choice == '5':
                self.show_students()
            elif choice == '6':
                confirm = input('确定退出系统吗?(y/n):')
                if confirm == 'y':
                    print('谢谢使用!')
                    break
            else:
                print('输入有误!')

if __name__ == '__main__':
    manage = Manage()
    manage.start()

使用示例

===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):5
学号	姓名	班级	电话	家庭住址	宿舍号
202201001	张三	计科2202	1235	湖北省武汉市武设信工院	7栋304
202201002	赵李	软工2201	1233	湖北省武汉市武设信工院	5栋102
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):1
请输入学号:202201003
请输入姓名:王五
请输入班级:软工2202
请输入电话:1234
请输入家庭住址:湖北省武汉市洪山区
请输入宿舍号:6栋302
添加成功!
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):2
请输入要修改信息的学生学号:202201002
学号	姓名	班级	电话	家庭住址	宿舍号
202201002	赵李	软工2201	1233	湖北省武汉市武设信工院	5栋102
请选择要修改的信息(1-班级 2-电话 3-家庭住址 4-宿舍号 0-取消):4
请输入新的宿舍号:5栋103
修改成功!
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):3
请输入要删除信息的学生学号或姓名:王五
删除成功!
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):4
请输入要查找信息的学生学号或姓名:202201001
学号	姓名	班级	电话	家庭住址	宿舍号
202201001	张三	计科2202	1235	湖北省武汉市武设信工院	7栋304
===== 学生信息管理系统 =====
1. 录入学生信息
2. 修改学生信息
3. 删除学生信息
4. 查找学生信息
5. 浏览所有学生信息
6. 退出系统
请选择功能(1-6):6
确定退出系统吗?(y/n):y
谢谢使用!
Python 学生信息管理系统 - 轻松管理学生数据

原文地址: https://www.cveoy.top/t/topic/oyy8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录