python面向对象的学生信息管理系统

python面向对象的学生信息管理系统

  • 目录
    • Student.py
    • student_manage_system.py
    • main.py
    • 部分功能演示

目录

Student.py

此部分为学生类

class Student(object):
    def __init__(self, sName, sAge, sNumber, tele_num):
        self.sName = sName
        self.sAge = sAge
        self.sNumber = sNumber
        self.tele_num = tele_num

student_manage_system.py

此部分为学生信息管理系统类

from student import Student

class StudentManageSystem(object):

    def __init__(self):
        self.student_list = []
        self.menu()

    def add_student(self):
        sName = input("请输入学生姓名:")
        sAge = eval(input("请输入学生年龄:"))
        sNumber = eval(input("请输入学生学号:"))
        tele_num = eval(input("请输入手机号码:"))

        student = Student(sName, sAge,sNumber ,tele_num)
        self.student_list.append(student)
        print("增加成功")
        input("按任意键返回菜单")

    def modify_student(self):
        num = eval(input("请输入学生学号:"))
        index1 = -1
        for i, dict1 in enumerate(self.student_list):
            if dict1.__dict__.get("sNumber") == num:
                index1 = i
                break
        if index1 != -1:
            self.student_list[index1].__dict__['sName'] = input("请输入新的姓名:")
            self.student_list[index1].__dict__['sAge'] = eval(input("请输入新的年龄:"))
            self.student_list[index1].__dict__['sNumber'] = eval(input("请输入新的学号:"))
            self.student_list[index1].__dict__['tele_num'] = eval(input("请输入新的手机号:"))
            print("修改成功")
        else:
            print("无此学生")
        input("按任意键返回菜单")

    def delete_student(self):
        num = eval(input("请输入要删除学生的学号:"))
        index1 = -1
        for i, dict1 in enumerate(self.student_list):
            if dict1.__dict__.get("sNumber") == num:
                index1 = i
                break
        if index1 != -1:
            del self.student_list[index1]
            print("删除成功")
        else:
            print("无此学生")
        input("按任意键返回菜单")

    def search_student(self):
        num = eval(input("请输入要查询学生的学号:"))
        index1 = -1
        for i, dict1 in enumerate(self.student_list):
            if dict1.__dict__.get("sNumber") == num:
                index1 = i
                break
        if index1 != -1:
            print("姓名:%s 年龄:%d 学号:%d 手机号码:%d" % (self.student_list[index1].__dict__["sName"], self.student_list[index1].__dict__["sAge"], \
                                                 self.student_list[index1].__dict__["sNumber"], self.student_list[index1].__dict__["tele_num"]))
        else:
            print("无此学生")
        input("按任意键返回菜单")

    def display_students(self):
        if len(self.student_list) == 0:
            print("无成员")
        else:
            for dict1 in self.student_list:
                print("姓名:%s 年龄:%d 学号:%d 手机号码:%d" % (dict1.__dict__["sName"], dict1.__dict__["sAge"], \
                                                     dict1.__dict__["sNumber"], dict1.__dict__["tele_num"]))
        input("按任意键返回菜单")

    def write_file(self):
        file = open("student_list.data", 'w', encoding='utf-8')
        for student in self.student_list:
            file.write(str(student.__dict__) + '\n')
        file.close()
        input("录入成功,按任意键返回菜单!")

    def read_file(self):
        try:
            file = open("student_list.data", 'r', encoding='utf-8')
            content = file.readlines()
            for student in content:
                self.student_list.append(Student(eval(student)['sName'], \
                                                 eval(student)['sAge'], eval(student)['sNumber'],
                                                 eval(student)['tele_num']))
            file.close()

            input("读取完成,按任意键返回菜单!")
        except:
            print("文件不存在")

    def menu(self):
        while True:
            print("-----------学生管理系统-----------")
            print("1、增加学生信息")
            print("2、修改学生信息")
            print("3、删除学生信息")
            print("4、查询学生信息")
            print("5、显示所有学生信息")
            print("6、将数据录入文件")
            print("7、读取文件数据")
            print("8、退出系统")
            print("------------版本号2.0------------")
            info = eval(input("\n请输入你要操作的序号:"))
            if info == 1:
                self.add_student()
            elif info == 2:
                self.modify_student()
            elif info == 3:
                self.delete_student()
            elif info == 4:
                self.search_student()
            elif info == 5:
                self.display_students()
            elif info == 6:
                self.write_file()
            elif info == 7:
                self.read_file()
            else:
                print("感谢您的使用,欢迎下次再来!")
                exit()

main.py

函数的开始部分

from student_manage_system import StudentManageSystem

if __name__ == '__main__':

    system = StudentManageSystem()

部分功能演示

python面向对象的学生信息管理系统_第1张图片
python面向对象的学生信息管理系统_第2张图片
python面向对象的学生信息管理系统_第3张图片
python面向对象的学生信息管理系统_第4张图片
python面向对象的学生信息管理系统_第5张图片

你可能感兴趣的:(学生信息管理系统)