python实现学生信息管理系统(面向对象)


Posted in Python onJune 05, 2022

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

1.主要内容

python种的.py文件如图所示

第一个文件是用来管理文件中包中各个模块的关系的文件

第二个文件是主函数文件,就是在主函数文件调用其余文件和模块

第三个模块式学生信息管理的模块

第四个文件是用来存放学生数据的文件

第五个文件是学生信息的定义和显示模块

python实现学生信息管理系统(面向对象)

2.实现代码

1)第一个文件是包中的管理文件自动生成且不需要修改

2)main.py文件

from managerSystem import *#导入模块managerSystem,可以使用其中的功能

if __name__=='__main__':#定义只能在运行main.py文件中运行,才执行的代码
    student_manager=StudentManager()
    student_manager.run()

3)学生信息管理模块

from student import *


class StudentManager(object):

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

    def run(self):
        self.load_student()

        while True:
            self.show_menu()
            ret = int(input('请输入数字1——7:'))
            if ret == 1:
                self.add_student()
            elif ret == 2:
                self.del_student()
            elif ret == 3:
                self.modify_student()
            elif ret == 4:
                self.search_student()
            elif ret == 5:
                self.show_student()
            elif ret == 6:
                self.save_student()
            elif ret == 7:
                break

    @staticmethod#此方法在执行时,不需要传入任何参数
    def show_menu():
        print('请选择如下序号:')
        print('1.添加学员')
        print('2.删除学员')
        print('3.修改学员信息')
        print('4.查找学员')
        print('5.显示学员信息')
        print('6.保存学员信息')
        print('7.退出系统')

    def add_student(self):
        name = input('请输入学员姓名:')
        gender = input('请输入学员性别:')
        tel = input('请输入电话号码:')
        student = Student(name, gender, tel)
        self.student_list.append(student)
        # print(self.student_list)
        # print(student)

    def del_student(self):
        del_name = input('请输入需要删除的学员姓名:')
        for i in self.student_list:
            if i.name == del_name:
                self.student_list.remove(i)
                break
        else:
            print('查无此人')
        # print(self.student_list)

    def modify_student(self):
        modify_name = input('请输入需要修改的学员姓名:')
        for i in self.student_list:
            if i.name == modify_name:
                i.name = input('亲输入需要修改的学员姓名:')
                i.gender = input('请输入需要修过的学员性别:')
                i.tel = input('请输入需要修改的学员手机号:')
                print(f'修改的信息为{i.name},{i.gender},{i.tel}')
                break
        else:
            print('需要修改的学员不存在')

    def search_student(self):
        searce_name = input('请输入需要查询的学员姓名:')
        for i in self.student_list:
            if i.name == searce_name:
                print(f'姓名:{i.name},性别:{i.gender},手机号:{i.tel}')
                break
        else:
            print('查无此人')

    def show_student(self):
        print('姓名:\t性别:\t手机号:')
        for i in self.student_list:
            print(f'{i.name}\t{i.gender}\t{i.tel}')

    def save_student(self):
        f = open('student.data', 'w')
        new_list = [i.__dict__ for i in self.student_list]
        print(new_list)
        f.write(str(new_list))
        f.close()

    def load_student(self):
        # 1. 打开文件:尝试r打开,如果有异常w
        try:
            f = open('student.data', 'r')
        except:
            f = open('student.data', 'w')
        else:
            # 2. 读取数据:文件读取出的数据是字符串还原列表类型;[{}] 转换 [学员对象]
            data = f.read()  # 字符串
            if data != '':  # 此时需要添加判断文件是否为空,否则会发生报错
                new_list = eval(data)
                self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list]
        finally:
            # 3. 关闭文件
            f.close()

4)存储数据的文件不需要编辑

5)student.py文件主要是用来存放学生的主要信息的模块,以及可以查看学生信息的方法

class Student(object):
    def __init__(self, name, gender, tel):
        self.name = name
        self.gender = gender
        self.tel = tel

    def __str__(self):
        return f'{self.name},{self.gender}, {self.tel}'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。


Tags in this post...

Python 相关文章推荐
Python pass 语句使用示例
Mar 11 Python
Python字符串逐字符或逐词反转方法
May 21 Python
python消除序列的重复值并保持顺序不变的实例
Nov 08 Python
pymongo中group by的操作方法教程
Mar 22 Python
python远程邮件控制电脑升级版
May 23 Python
Django模板Templates使用方法详解
Jul 19 Python
Python如何基于smtplib发不同格式的邮件
Dec 30 Python
Django关于admin的使用技巧和知识点
Feb 10 Python
python程序输出无内容的解决方式
Apr 09 Python
详解python爬取弹幕与数据分析
Nov 14 Python
利用Python批量识别电子账单数据的方法
Feb 08 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 Python
Python使用pyecharts控件绘制图表
Jun 05 #Python
Python使用openpyxl模块处理Excel文件
Jun 05 #Python
Python中requests库的用法详解
Jun 05 #Python
Python加密与解密模块hashlib与hmac
Jun 05 #Python
Python日志模块logging用法
Jun 05 #Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 #Python
Python四款GUI图形界面库介绍
You might like
drupal 代码实现URL重写
2011/05/04 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
微信小程序url传参写变量的方法
2018/08/09 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
Python操作Excel之xlsx文件
2017/03/24 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
2020/03/09 Python
如何在django中实现分页功能
2020/04/22 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
致跳远运动员广播稿
2014/02/11 职场文书
终止劳动合同协议书
2014/04/14 职场文书
机械专业求职信范文
2014/07/15 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
项目负责人岗位职责
2015/02/15 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python