项目介绍:

项目名称:(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. 关于Could not obtain transaction-synchronized Session for current thread 这个异常。

    Could not obtain transaction-synchronized Session for current thread 这个异常之前非常让我头大.对于网上的各种说法都试了一下反正都不 ...

  2. 「hihocoder1413 Rikka with String」

    题目 哈哈哈哈哈哈哈哈哈哈我还没自闭 好像前后调了两天了 哈哈哈哈哈哈哈哈哈哈我还没自闭 这道题就是给定一个小写字母串,回答分别把每个位置上的字符替换为\(#\)后的本质不同的子串数 首先就是跨过这个 ...

  3. 关于mysql 出现 1264 Out of range value for column 错误的解决办法

    今天给客服恢复mysql数据的时候.本来测试好的数据.但是到了客户那里却死活不干活了.老报错! INSERT INTO ka_tan4 set num='716641385999', username ...

  4. STL - next_permutation 全排列函数

    学习: http://blog.sina.com.cn/s/blog_9f7ea4390101101u.html http://blog.csdn.net/ac_gibson/article/deta ...

  5. 装饰模式案列(OutputStream)

    使用装饰模式进行装饰OutputStream 写入文件成功 装饰类继承OutputStream类 DecorOutputStream package com.wbg.springRedis.decor ...

  6. java使用jsp建立项目+视频

    项目下载:https://pan.baidu.com/s/1rfwrihd82zAmpt3r-mxIMw 视频+项目下载:https://pan.baidu.com/s/17Cm0wW-S9xiUy4 ...

  7. 【题解】洛谷P3959 [NOIP2017TG] 宝藏(状压DP+DFS)

    洛谷P3959:https://www.luogu.org/problemnew/show/P3959 前言 NOIP2017时还很弱(现在也很弱 看出来是DP 但是并不会状压DP 现在看来思路并不复 ...

  8. Python 多客户端

    服务端代码 #引入socketserver模块 import socketserver #定义处理类必须继承BaseRequestHandler类 class my_server(socketserv ...

  9. 手写redis客户端

    一.RESP通信协议 Redis Serialization Protocol (Redis序列化协议). 特点:容易实现.解析快.可读性强 以\r\n分割数据. 二.撸代码 package com. ...

  10. 05 oracle中lock和latch的用途

    oracle中lock和latch的用途   本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁 ...