python实现学员管理系统(面向对象版)


Posted in Python onJune 05, 2022

前言

使用面向对象编程思想完成学员管理系统的开发,具体如下:

  • 系统要求:使用面向对象的方法
  • 系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能。

分析

  • 角色分析

- 学员
- 管理系统

  • 工作中注意事项

-为了方便维护代码,一般一个角色一个程序文件
- 项目要有主程序入口,习惯称为main.py

创建程序文件

1.创建项目目录,例如:StudentmangerSystem
2.程序文件如下:

  • 程序入口文件:main.py
  • 学员文件:studnet.py
  • 管理系统文件:mangerSystem.py

书写程序

  • student.py

需求:储存数据的形式:列表存储学员对象

  • 管理系统框架

需求:系统功能循环使用,用户输入不同的功能序号执行不同的功能

  • 步骤:
  • 定义程序入口函数
  • 显示功能菜单
  • 用户输入功能序号
  • 根据用户驶入的功能序号执行不同的功能
  • 定义系统功能函数,添加、删除学员等

student.py

需求是让我们把学员的数据放在列表里面,而且要用到面向对象。由此我们将学员看成是一个类,一个个学员就是实例对象。注意:这个时候列表里放的将是对象,而非其他数据类型。切记切记!

class Student(object):
    # 初始化学生类,传入学员的三个参数
    def __init__(self,sname,sgender,stel):
        self.name = sname
        self.gender = sgender
        self.tel = stel
    # 便于格式化返回字符串,浙江影响到对象的打印
    def __str__(self):
        return f'{self.name}的性别是{self.gender},电话号码是{self.tel}'

managerSystem

同样也是要用到面向对象,由此,将需求中的各种功能看成是一个个实例方法。
功能面板也看成是一个实例方法
要求使用循环,则需要一个运行程序,将功能面板,实例方法调用。同时使用if判断语句判断将用户输入的功能序号和功能的运行相对应。

from Student import *
class managerSystem(object):
    # 初始化
    def __init__(self):
        self.student_list = []
    # 定义功能面板
    def show_menu(self):
        print("请选择如下功能:")
        print("1.添加学员")
        print("2.删除学员")
        print("3.修改学员信息")
        print("4.查询学员信息")
        print("5.显示所有学员信息")
        print("6.保存学员信息")
        print("7.退出系统")
    # 定义功能函数:添加学员
    def student_add(self):
        name = input('请输入姓名:')
        for i in self.student_list:
            if i.name != name:
                gender = input('请输入性别:')
                tel = input('请输入电话号:')
                break
            else:
                print('库中已有此人!')
        student = Student(name,gender,tel)
        self.student_list.append(student)   # 注意:这里加入到列表中的是一个实例对象,打印只会得到一个内存地址
    # 定义功能函数:删除学员
    def student_del(self):
        name = input('请输入删除学员的姓名:')
        for i in self.student_list:
            if i.name == name:
                del i
            else:
                print('查无此人!')
    # 定义功能函数:修改信息
    def student_change(self):
        name = input('请输入姓名:')
        for i in self.student_list:
            if i.name == name:
                i.gender = input('请输入性别:')
                i.tel = input('请输入电话号:')
                break
            else:
                print('查无此人!')
    # 定义功能函数:查询功能信息
    def student_search(self):
        name = input('请输入姓名:')
        for i in student_list:
            if i.name == name:
                print(f'{i.name}的性别{i.gender}电话号是{i.tel}')
                break
            else:
                print('查无此人!')
    # 定义功能函数:显示所有信息
    def student_show_all(self):
        for i in student_list:
            print(f'{i.name}的性别是{i.gender}电话号是{i.tel}')
    # 定义功能函数:保存学员信息
    def student_save(self):
        print('保存信息成功!')
    # 定义功能函数:退出系统
    def student_exit(self):
        print('退出成功!')
    “”“
    定义主运行程序
    ”“”
    def run(self):
        # 定义一个变量,用以跳出循环
        i = 0
        while i == 0:
            srlf.show_menu()
            func_sum = input('请输入功能序号:')
            if func_sum == '1':
                self.student_add()         # 添加学员
            elif func_sum == '2':
                self.student_del()           # 删除学员
            elif func_sun == '3':
                self.student_change()       # 修改学员信息
            elif func_sum == '4':
                self.student_search()       # 查询学员信息
            elif func_sum == '5':
                self.student_show_all()       # 显示所有信息
            elif func_sum == '6':
                self.studnet_save()        # 保存信息
            else:
                i += 1                     # 当i不等于0时,跳出循环
                self.student_exit()        # 退出程序

main.py

管理学员系统的执行文件

from managerSystem import *
if __name__ == '__main__':
    Mangersystem = managerSystem()
    Mangersystem.run()

最后,这三个文件要在同一个目录下,最好先在pycharm中创建一个项目后,再创建者三个文件。

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


Tags in this post...

Python 相关文章推荐
跟老齐学Python之集合(set)
Sep 24 Python
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
Python解析nginx日志文件
May 11 Python
python清除字符串里非字母字符的方法
Jul 02 Python
Python只用40行代码编写的计算器实例
May 10 Python
python字典操作实例详解
Nov 16 Python
python使用TensorFlow进行图像处理的方法
Feb 28 Python
python五子棋游戏的设计与实现
Jun 18 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
Python中实现一行拆多行和多行并一行的示例代码
Sep 06 Python
用python计算文件的MD5值
Dec 23 Python
python实现学生信息管理系统(面向对象)
Jun 05 #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
You might like
php 显示指定路径下的图片
2009/10/29 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
JavaScript中“+=”的应用
2007/02/02 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
微信公众号token验证失败解决方案
2019/07/22 Python
python 实现识别图片上的数字
2019/07/30 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
python2 对excel表格操作完整示例
2020/02/23 Python
Python csv文件记录流程代码解析
2020/07/16 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
外贸业务员的岗位职责
2013/11/23 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
《桂林山水》教学反思
2014/02/08 职场文书
发展部经理职责规定
2014/02/22 职场文书
环保建议书400字
2014/05/14 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
任命书怎么写
2015/03/02 职场文书
餐厅服务员管理制度
2015/08/05 职场文书