基于python创建学生管理系统(面向对象编程)

该系统的主要功能是:

1:添加学生

2:删除学生

3:修改学生

4:查询学生

5:显示数据

6:保存数据

7:退出系统

用两个文件实现

一个主函数文件和一个系统工具文件

代码如下:

1:student_tools代码:

import os


class StudentT(object):

    def __init__(self):
        self.student_list = []
        self.student_dict = {}


    #学生管理系统页面
    @staticmethod
    def jiemain():
        print("-----------------          ")
        print("        学生管理系统         ")
        print("                           ")
        print("        1:添加学生          ")
        print("        2:删除学生          ")
        print("        3:修改学生          ")
        print("        4:查询学生          ")
        print("        5:显示所有学生       ")
        print("        6:保存数据          ")
        print("        7:退出系统          ")
        print("-------------------------- ")


    #添加学生
    def add(self):
        name = input("请输入学生姓名:")
        cls = input("请输入学生班级:")
        age = input("请输入学生年龄:")
        phone = input("请输入学生号码:")
        address = input("请输入学生住址:")

        self.student_dict = {"name":name,"class":cls,"age":age,"phone":phone,"address":address}

        self.student_list.append(self.student_dict)
        print()
        print("--------添加学生信息页面--------")
        print()
        print("姓名\t\t","班级\t\t","年龄\t\t","电话号码\t\t","家庭住址\t\t")
        for student_dict_1 in self.student_list:
            print("%s\t\t%s\t\t%s\t\t%s\t\t%s" %(student_dict_1["name"],
                                                 student_dict_1["class"],
                                                 student_dict_1["age"],
                                                 student_dict_1["phone"],
                                                 student_dict_1["address"]))
            print()
            print("录入完毕!!!")
            print()


    #删除学生
    def dele(self):
        name_del = input("请输入想要删除的学生姓名:")
        for student_dict_1 in self.student_list:
            if name_del in student_dict_1["name"]:
                self.student_list.remove(student_dict_1)
                print()
                print("删除%s信息成功"%name_del)
                print()
                break
            else:
                print()
                print("您输入的学生姓名错误,请重新输入")
                print()
    #修改学生
    def xiugai(self):
        name_xiugai = input("请输入想要修改的学生姓名:")


        for student_dict_1 in self.student_list:

            if name_xiugai == student_dict_1["name"]:
                print()
                print("--------修改界面--------")
                print()
                print("姓名\t\t","班级\t\t","年龄\t\t","号码\t\t","家庭住址\t\t")
                print("%s\t\t%s\t\t%s\t\t%s\t\t%s"%(student_dict_1["name"],
                                                    student_dict_1["class"],
                                                    student_dict_1["age"],
                                                    student_dict_1["phone"],
                                                    student_dict_1["address"]))
                #回车修改
                student_dict_1["name"] = self.new_input(student_dict_1["name"],"请输入修改后的学生姓名[回车不修改]:")
                student_dict_1["class"] = self.new_input(student_dict_1["class"],"请输入修改后的学生班级[回车不修改]:")
                student_dict_1["age"] = self.new_input(student_dict_1["age"],"请输入数修改后的学生年龄[回车不修改]:")
                student_dict_1["phone"] = self.new_input(student_dict_1["phone"],"请输入修改后的学生号码[回车不修改]:")
                student_dict_1["address"] = self.new_input(student_dict_1["address"],"请输入修改后的学生家庭住址[回车不修改]:")
                print()
                print("修改成功")
                print()
                break

            else:
                print()
                print("您输入的学生姓名有误,请重新输入:")
                print()

    #查找学生
    def find(self):
        find_name = input("请输入需要查找的学生姓名:")
        for student_dict_1 in self.student_list:

            if find_name == student_dict_1["name"]:
                print()
                print("--------查询结果页面--------")
                print()
                print("姓名\t\t","班级\t\t","年龄\t\t","号码\t\t","家庭住址\t\t")
                print("%s\t\t%s\t\t%s\t\t%\t\t%s" % (student_dict_1["name"],
                                                    student_dict_1["class"],
                                                    student_dict_1["age"],
                                                    student_dict_1["phone"],
                                                    student_dict_1["address"]))
            else:
                print()
                print("--------查询结果界面--------")
                print()
                print("无此学生信息")

    #显示所有学生信息
    def showall(self):

        if len(self.student_list) > 0:
            print()
            print("--------显示学生所有信息--------")
            print()
            print("姓名\t\t","班级\t\t","年龄\t\t","电话\t\t","家庭住址\t\t")
            for student_dict_1 in self.student_list:
                print("%s\t\t%s\t\t%s\t\t%s\t\t%s" % (student_dict_1["name"],
                                                      student_dict_1["class"],
                                                      student_dict_1["age"],
                                                      student_dict_1["phone"],
                                                      student_dict_1["address"]))
        else:
            print()
            print("暂无数据")
            print()

    #设置用户不输入内容返回原值,输入内容返回新内容
    def new_input(self,yuanzhi,message):
        self.input_str = input(message)

        if len(self.input_str) > 0:
            return self.input_str
        else:
            return yuanzhi

    #保存数据至文件
    def save_file(self):

        f = open("student2.txt",'w',encoding = 'utf-8')
        f.write(str(self.student_list))
        f.close()
        print("数据保存至student1.txt文件成功!!!")

    #将数据读取至变量中
    def read_file(self):

        if os.path.exists('student2.txt'):
            f = open('student2.txt','r',encoding = 'utf-8')
            ret = f.read()

            self.student_list = eval(ret)
            f.close()
            print("数据读取成功!!!")

student_main文件代码:

import student_tools


class Student(student_tools.StudentT):

    def __init__(self):
        self.user = ['wangtaotao']
        self.pwd = ['123456']
        student_tools.StudentT.__init__(self)

    #登录页面
    def denglu(self):
        users = input("请输入用户名:")
        pwds = input("请输入您的密码:")
        if users in self.user and pwds in self.pwd:
            self.student()
        else:
            print("账号或密码不正确,请重新输入")

    #注册
    def zhuce(self):
        users = input("请输入您要注册的用户名:")
        pwds = input("请输入您要注册的密码:")
        self.user.append(users)
        self.pwd.append(pwds)
        print()
        print("注册成功!!!")
        print()

    #登录界面
    def dljiemian(self):

        while True:
            print("----------------------------")
            print("      学生管理系统登录界面      ")
            print("                            ")
            print("          1:登  录           ")
            print("          2:注  册           ")
            print("          3:退  出           ")
            print("                            ")
            print("----------------------------")
            xx = input("请输入您的选择:")
            #1.登录
            if xx == '1':
                self.denglu()
            elif xx == '2':
                #注册
                self.zhuce()
            #退出
            elif xx == '3':
                print()
                print("退出成功!!!")
                print()
                break
            else:
                print("输入错误,请重新输入")

    #学生管理系统
    def student(self):
        #调用student_tool模块中的读取文件函数
        super().read_file()
        while True:
            #调用student_tools模块中的界面函数
            super().jiemain()

            x = input("请输入您的选择:")
            #添加学生
            if x == '1':
                super().add()
            #删除学生
            elif x == '2':
                super().dele()
            #修改学生
            elif x == '3':
                super().xiugai()
            #查询学生
            elif x == '4':
                super().find()
            #显示所有学生
            elif x == '5':
                super().showall()
            #保存数据至文件中
            elif x == '6':
                super().save_file()
            #退出学生管理系统
            elif x == '7':
                print()
                print("成功退出学生管理系统!!!")
                break
            else:
                print()
                print("输入错误,请重新输入!")
                break
    #调用最先执行的登入界面函数
if __name__ == '__main__':
    wtt = Student()
    wtt.dljiemian()

文章内容来源于Github,如有侵权请立即联系本人QQ:2129157929,立即删除

大佬勿喷!!!!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值