项目介绍:

项目名称:(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. 关于一篇对epoll讲的比较好的一篇文章

    原文地址http://www.cnblogs.com/lojunren/p/3856290.html 前言 I/O多路复用有很多种实现.在linux上,2.4内核前主要是select和poll,自Li ...

  2. ST表学习总结

    前段时间做16年多校联合赛的Contest 1的D题(HDU 5726)时候遇到了多次查询指定区间的gcd值的问题,疑惑于用什么样的方式进行处理,最后上网查到了ST表,开始弄得晕头转向,后来才慢慢找到 ...

  3. JQuery 学习总结及实例 !! (转载)

    出自 new:http://www.jianshu.com/users/1967b163cb61/latest_articles 1.JQuery简介 普通JavaScript的缺点:每种控件的操作方 ...

  4. Spring自定义注解(验证身份证+性别+地区)

    第一步:定义注解 PersonFormId: package com.wbg.maven1128.demo_formatter; import java.lang.annotation.*; @Doc ...

  5. HDU 1012 u Calculate e(简单阶乘计算)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1012 u Calculate e Time Limit: 2000/1000 MS (Java/Oth ...

  6. Gradle Goodness: Init Script for Adding Extra Plugins to Existing Projects

    Gradle Goodness: Init Script for Adding Extra Plugins to Existing Projects Gradle is very flexible. ...

  7. UCanCode发布升级E-Form++可视化源码组件库2018全新版 !

    2018年. 成都 UCanCode发布升级E-Form++可视化源码组件库2018全新版 ! --- 全面性能提升,UCanCode有史以来最强大的版本发布! E-Form++可视化源码组件库企业版 ...

  8. 基于MySQL INNODB的优化技巧

    背景 ​ 回顾人们在开始工作之前,都会问自己这样一个问题:给你一台16G内存的Innodb专用数据库服务器,如何配置才能让其稳定.高效地给典型的Web应用提供服务? 硬件 内存:内存对于Innodb数 ...

  9. mysql碰到的问题总结

    1.问题描述: 连接数据库出现大约10s延迟后才能连接,排除网络问题 解决方案: 通过抓包工具tcpdump抓包分析mysql在连接开始有近10s的空白请求,问题原因就在这 ,不知道在执行什么请求,后 ...

  10. 利用MyFlash闪回丢失数据

          MyFlash is an open source tool released by Meituan-Dianping which can be used to flashback MyS ...