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

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

目录

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()

部分功能演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员陈_明勇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值