实现思路:

  1. 创建一个学生类,包含学号、姓名、班级、电话、家庭住址、宿舍号等属性;
  2. 创建一个管理类,包含录入、修改、删除、查找、浏览所有学生信息等方法;
  3. 在管理类中,使用文件读写来保存学生信息;
  4. 在主函数中,显示功能菜单选项,根据用户选择调用相应的管理类方法实现相应的功能;
  5. 实现异常处理,如输入不合法等情况下给出相应的提示信息。

代码实现:

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 = "{},{},{},{},{},{}\n".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("学号\t姓名\t班级\t电话\t家庭住址\t宿舍号")
                print("{}\t{}\t{}\t{}\t{}\t{}".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("学号\t姓名\t班级\t电话\t家庭住址\t宿舍号")
                print("{}\t{}\t{}\t{}\t{}\t{}".format(student.id, student.name, student.classname, student.phone, student.address, student.dorm))
                return
        print("没有找到该学生!")

    def show_students(self):
        print("学号\t姓名\t班级\t电话\t家庭住址\t宿舍号")
        for student in self.students:
            print("{}\t{}\t{}\t{}\t{}\t{}".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的学生信息管理系统考查要求:使用Python语言开发一个学生信息管理系统该系统可以帮助老师快速录入学生的信息并对学生信息进行基本的增、删、改、查操作实时地将学生信息保存到文件中方便查看。该学生信息管理系统具体包含以下六大模块:1录入学生信息模块2修改学生信息模块3删除学生信息模块4查找学生信息模块5浏览所有学生信息模块6退出系统模块在主界面中显示功能菜单选项选择相应的功能后分别调用

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

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