我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python实现学生管理系统(面向对象版)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python实现学生管理系统(面向对象版)

本文实例为大家分享了Python实现学生管理系统的具体代码,供大家参考,具体内容如下

实现从面向过程到面向对象的过度,通过更改前面的学生管理系统实现面向对象,也证明了面向过程可以完美过度到面向对象,从而为以后的程序进步做了进一步优化,方便以后的程序更改。

完整代码如下:

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


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

            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("输入错误,请重新输入")
                print()

    #调用最先执行的登录界面函数
if __name__=='__main__':
    wtt=Student()
    wtt.dljiemian()

student_tools模块中的代码


import os


class StudentT(object):

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


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


    #添加学生
    def add(self):
        name=input("请输入录入学生姓名:")
        cls=input("请输入学生班级:")
        age=input("请输入录入学生年龄:")
        phone=input("请输入录入学生手机号:")
        addr=input("请输入录入学生家庭住址:")

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

        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%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()
                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("数据读取成功!")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python实现学生管理系统(面向对象版)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python面向对象怎么实现学生信息管理系统

今天小编给大家分享一下python面向对象怎么实现学生信息管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.主要内容
2023-06-30

实现Python面向对象版学员管理系统的示例

这篇“实现Python面向对象版学员管理系统的示例”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“实现Python面向对象版学员管理系统的示例”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家
2023-06-06

python面向对象如何实现学员管理系统

本文小编为大家详细介绍“python面向对象如何实现学员管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“python面向对象如何实现学员管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言使用面向对
2023-06-30

怎么用C++面向对象实现图书管理系统

本文小编为大家详细介绍“怎么用C++面向对象实现图书管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用C++面向对象实现图书管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.题目:【1】:工作
2023-06-29

面向对象作业——校园管理系统

角色:管理员、老师、学生要求:1. 创建北京、上海 2 所学校2. 创建linux , python , go 3个课程 ,linux\py 在北京开,go 在上海开3. 课程包含,周期,价格,学校4. 班级关联课程、讲师5. 创建学员时,
2023-01-30

Java如何实现实现IO版学生管理系统

这篇文章将为大家详细讲解有关Java如何实现实现IO版学生管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下图解: cade: student.javapub
2023-06-29

怎么用java对象数组实现学生信息管理系统

本篇内容主要讲解“怎么用java对象数组实现学生信息管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用java对象数组实现学生信息管理系统”吧!本文实例为大家分享了Java实现学生信息
2023-06-20

Python如何实现功能全面的学生管理系统

本文小编为大家详细介绍“Python如何实现功能全面的学生管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现功能全面的学生管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。功能描述1
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录