项目介绍:

项目名称:(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. c++11 多线程新特性学习 (1) 管理线程

    1.基础介绍 c++11中,线程是通过std::thread对象来开始的,用法为 #include<thread> //必须包含的头文件 void do_work(){ std::cout ...

  2. 使用redux开发的简单步骤

    一.安装redux包 npm install redux --save 二.根据APP数据结构或者后台请求的数据结构拟定state的大致结构. 可以把state写成一个对象字面量,放在reducer文 ...

  3. AWESOME SWIFT-swift.libhunt.com-swift类库网站

    https://swift.libhunt.com/categories/688-events 29 Events libraries and projects ORDERED BY POPULARI ...

  4. v-bind:的基本用法

    1. v-bind:class(根据需求进行选择) <style> .box{ background-color: #ff0; } .textColor{ color: #000; } . ...

  5. 快速了解jquery

    jQuery的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作".这是它区别于其他Javascript库的根本特点. 所以jquery的基础语法是: $(sel ...

  6. Mac 开发配置手册

    转自:http://www.cocoachina.com/mac/20141112/10198.html 手册内容为「如何让一部全新的 MacBook 快速完成开发环境配置」,主要面向 Web 开发者 ...

  7. 【题解】洛谷P1065 [NOIP2006TG] 作业调度方案(模拟+阅读理解)

    次元传送门:洛谷P1065 思路 简单讲一下用到的数组含义 work 第i个工件已经做了几道工序 num 第i个工序的安排顺序 finnish 第i个工件每道工序的结束时间 need 第i个工件第j道 ...

  8. ovs的卸载

    使用apt-get安装的openvswitch,然后卸载好麻烦撒,而且还没有相关资料说一下怎么删除的,特此记录一下,希望有个参考 首先把服务器上使用ovs新建的虚拟网桥全部删除掉 然后把原有的内核删除 ...

  9. Spring 整合Mybatis dao原始方法

    先看一下项目图,基本就理解了整合的内容 这次主角不再是Mybats的配置文件SqlMapConfig.xml了,而是Spring的applicationContext.xml applicationC ...

  10. Jquery实现简单图片轮播

    html代码: <div class="show"> <div class="left"> <div class="sh ...