项目介绍:

项目名称:(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. Hibernate 基于主键的一对一关联关系随手记

    @Test public void testSave() { Boss boss = new Boss(); boss.setName("A-老板"); Company compa ...

  2. ListView实现下拉刷新(三)实现下拉刷新

    该准备的东西都已经准备好了.在这篇文章里,我们就开始实现下拉刷新功能吧. 一.大体的逻辑分析 我们来简单分析一下需要做的逻辑吧.首先分析头布局有几种状态.不下拉时,为正常状态,此时头布局隐藏.下拉到一 ...

  3. UVa 1349 - Optimal Bus Route Design(二分图最佳完美匹配)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  4. 【[HNOI2005]狡猾的商人】

    加权并查集 由于给出信息的是一些一个区间的和为多少,我们显然并不好处理出每一个点应该为多少,这我们根本做不到 但是我们想一下,如果要求一个区间\([l,r]\)的和,那么我们是不是可以利用前缀和\(p ...

  5. 18、配置嵌入式servlet容器(2)

    使用其他Servlet容器 -Jetty(长连接) -Undertow(不支持jsp) 替换为其他嵌入式Servlet容器   默认支持: Tomcat(默认使用) Jetty: <depend ...

  6. MyBatis(7)高级查询

    本次全部学习内容:MyBatisLearning 高级查询:   对于整体的工程是时候增加一点文件了: 具体用到那个类再去说明类的内容   一对一查询: 1.resultType进行实现: 执行的sq ...

  7. 视图 b

  8. Spring使用java代码配置Web.xml进行访问service

    方式一:继承WebMvcConfigurerAdapter类 1.使用一个类来继承 package com.wbg.springJavaConfig.spring; import org.spring ...

  9. Ant自动化打多渠道包,Android批量打包提速

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  10. CSU - 2031 Barareh on Fire (两层bfs)

    传送门: http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2031 Description The Barareh village is on f ...