项目介绍:

项目名称:(oldboy选课系统)

项目功能:
分为 学员视角, 老师视角 , 管理员视角 学员视角{
(注册 登录 个人中心 选课 学习 上课)
登录 就是登录
注册: 填写 资料 信息 完成注册
选课 =》 选择课程
学习 =》 查看所在班级 , 上课记录 , 以及查看老师批改作业后的成绩,查看我的课程===》{ 进入课程进行学习 }
} 老师视角{
(登录 不能注册(只能由管理员创建) 查看班级)
登录 就是登录
查看学员 =》输入班级编号 =》 得到 该班级所有的学生信息 = 》 可以修改学生成绩
开始上课 => 输入班级编号 =》 可以上课(假的)
}
管理员视角{
(校区管理,课程管理,讲师管理,班级管理,学员管理)
校区管理 =》 查看校区 , 创建校区 , 修改校区
课程管理 =》 查看课程 , 创建课程 , 修改课程
讲师管理 =》 查看讲师 , 创建讲师 , 修改讲师
班级管理 =》 查看班级 , 创建班级 , 修改班级
学员管理 =》 查看学员 , 关联班级(就是将学员和班级关联 (确认学员的班级))
} 目录结构介绍:
"""
selection/
|-- bin/
| |-- __init__.py 包文件
| |-- start.py 程序入口文件
|-- core/ ------程序主要文件
| |-- __init__.py 包文件
| |-- admin_view.py 管理员视图文件
| |-- main.py 主程序
| |-- school_view.py 学校视图文件
| |-- student_view.py 学生视图文件
| |-- teacher_view.py 老师视图文件
|-- conf 配置文件
|-- setting.py 日志配置文件
|-- db 数据存放的地方
| |-- ... 数据库
|-- include/ 接口文件(interface)
| |-- __init__.py 包文件
| |-- classroom.py 班级接口
| |-- course.py 课程接口
| |-- school.py 学校接口
| |-- teacher.py 讲师接口
|-- modules/ 程序公共调用模块存放
| |-- __init__.py 包文件
| |-- databases.py 数据库模块
| |-- UserAuth.py 用户逻辑模块
|-- README.md
|-- 选课系统作业.pdf 项目流程图
""" 项目数据存储 基于pickle序列化存储;序列化字典 (此处可以扩展成 mysql存储) 项目所用知识
面向对象的一些基础用法 (继承,绑定方法与非绑定方法,对象组合 ,以及对象的内置函数运用),模块的使用 代码片段


项目效率预览






项目逻辑关系图

 说明:

本项目,没有view层,但是接口层和数据层已经封装好,如果想做成一个web项目,仅需要修改view(视图层即可)

初级代码,纯粹为了练习面向对象而练习(大佬绕路,小白可以学习一下)

代码请关注我的github,或在下方评论,给出代码!

如需联系作者,请关注私信!

Python3 之选课系统的更多相关文章

  1. python之选课系统详解[功能未完善]

    作业需求 思路:1.先写出大体的类,比如学校类,学生类,课程类--   2.写出类里面大概的方法,比如学校类里面有创建讲师.创建班级-- 3.根据下面写出大致的代码,并实现其功能       遇到的困 ...

  2. 一个简单的python选课系统

    下面介绍一下自己写的python程序,主要是的知识点为sys.os.json.pickle的模块应用,python程序包的的使用,以及关于类的使用. 下面是我的程序目录: bin是存放一些执行文件co ...

  3. [ python ] 面向对象 - 选课系统

    根据源程序进行改写:    原程序地址:http://www.cnblogs.com/lianzhilei/p/5985333.html  如有侵权立即删除.    感谢原作者将完整的代码提供参考.  ...

  4. 从零开始学Python06作业思路:学生选课系统

    一,作业要求 选课系统: 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 学生:用户名.密码.性别.年龄.选课列表[].上课记录{课程1:[di,a,]} ...

  5. Python开发程序:选课系统-改良版

    程序名称: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...

  6. python实现学生选课系统 面向对象的应用:

    一.要求: 选课系统 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 使用pickle保存在文件 学生: 学生:用户名.密码.性别.年龄.选课列表[].上课 ...

  7. Python开发程序:选课系统

    本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...

  8. python 面向对象 class 老男孩选课系统

    要求:1. 创建北京.上海 2 所学校 class2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课 ...

  9. 学生选课系统 c语言

    /********************************* *主题:学生选修课程系统设计 * *设计要求: *1.添加功能:程序能够任意添加课程和学生记录,可提供选择界面供用户选择所需要添加 ...

随机推荐

  1. 【DP】:CF #319 (Div. 2) B. Modulo Sum

    [题目链接]:http://codeforces.com/contest/577/problem/B [相似题目]:http://swjtuoj.cn/problem/2383/ [题意]:给出n个数 ...

  2. php 日志扩展

    今天发现一个比较好的php应用日志扩展,这里先mark一下,回头有空再详细介绍: http://neeke.github.io/SeasLog/

  3. 提交文件到ng-pages分支

    一.提交dist文件夹到ng-pages分支 git subtree push --prefix=dist origin gh-pages 二.提交所有文件到ng-pages分支 text git:( ...

  4. 二十九、利用 IntelliJ IDEA 进行代码对比的方法

    我们会有这样的需求,即:想对比出两个不同版本代码的区别.如何实现? 第 1 种:如果我们是从 SVN 检出的项目,并且想比较本地代码与从 SVN 检出时的代码相比都有那些区别,可以按如下步骤操作, 如 ...

  5. ssh调用matplotlib绘图报错RuntimeError: Invalid DISPLAY variable

    1.问题:在本地用matplotlib绘图可以,但是在ssh远程绘图的时候会报错 RuntimeError: Invalid DISPLAY variable 2.原因:matplotlib的默认ba ...

  6. careercup-扩展性和存储限制10.4

    题目 有一个数组,里面的数在1到N之间,N最大为32000.数组中可能有重复的元素(即有的元素 存在2份),你并不知道N是多少.给你4KB的内存,你怎么把数组中重复的元素打印出来. 解答 我们有4KB ...

  7. Java项目排查cpu负载高

    背景 我负责的其中一个项目在空负载的情况下,CPU占用率依然保持着100%左右,线上.测试.开发的服务都一样:是什么导致的呢?在开发环境我查看了请求流量,这个流量可以忽略但CPU占用率一直在60%-1 ...

  8. Oracle中case的第二种用法

    procedure P_GetProVerSingInfo_2018(varFileID in varchar2, p_cr1 out refcontent, p_cr2 out refcontent ...

  9. java web多组件协作实现用户登录验证

    实现步骤: 1.创建用户登录提交界面 2.创建处理用户登录请求servlet组件Main 3.创建代表登录成功响应的servlet的组件LoginSuccess 4.创建代表登录失败响应的servle ...

  10. 针对jquery的ajax中的参数理解

    1. url 发送请求的地址.为空表示当前页. $.ajax({ type: "post", data: studentInfo, contentType: "appli ...