博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 实现选课系统
阅读量:5962 次
发布时间:2019-06-19

本文共 3602 字,大约阅读时间需要 12 分钟。

角色:学校、学员、课程、讲师>作业需求    - [ ] 1.创建北京、上海 2 所学校- [ ] 2.创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开- [ ] 3.课程包含,周期,价格,通过学校创建课程 - [ ] 4.通过学校创建班级, 班级关联课程、讲师- [ ] 5.创建学员时,选择学校,关联班级- [ ] 5.创建讲师角色时要关联学校, - [ ] 6.提供两个角色接口,一个管理接口       6.1学员视图, 可以注册, 交学费, 选择班级        6.2讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 修改所管理的学员的成绩         6.3管理视图,创建讲师, 创建班级,创建课程    - [ ] 7.上面的操作产生的数据都通过pickle序列化保存到文件里博客地址:## 1. 程序说明实现功能如下- [x] 1.创建北京、上海2所学校- [x] 2.创建linux,python,go3个课程,linux\py在北京开,go在上海开- [x] 3.课程包含,周期,价格,通过学校创建课程- [x] 4.通过学校创建班级,班级关联课程、讲师- [x] 5.创建学员时,选择学校,关联班级- [x] 5.创建讲师角色时要关联学校- [x] 6.提供两个角色接口,一个管理接口    6.1学员视图,可以注册,交学费,选择班级        6.2讲师视图,讲师可管理自己的班级,上课时选择班级,查看班级学员列表,修改所管理的学员的成绩         6.3管理视图,创建讲师,创建班级,创建课程    - [x] 7.上面的操作产生的数据都通过pickle序列化保存到文件里## 2. 思路和程序限制首先设置限制:        1. 学员有地域限制,不能同时选择北京和上海学校;       2. 为避免课程冲突,学员只能选择一个课程,且不考虑历史选课;    3. 讲师上课时只能选择一个班级;    4. 讲师周一到周日都可选择班级授课,一日一课程,一周最多7个班级;    5. 一个帐号只属性一个人,帐户使用用户名登录,对应唯一ID,即学号;    6. 一个班级可能对应多个讲师;按帐号区分视图:    1. 学员帐号        属性:学号、班级、学校、课程、成绩、名字;        方法:注册、选课、查看班级信息、修改自己信息;    2. 导师帐号        属性:名字、授课班级、学校、授课课程、授课安排;        方法:查看学员信息、排课、修改自己信息、修改学生成绩;    3. 系统帐号        属性:名字、管理员权限        方法:创建班级、分配学员班级、创建课程、创建讲师、管理员功能 从程序上来设计:    1. 人类:属性有名字、年龄、性别;    2. 城市类:属性有城市名;    3. 学校类:属性有学校名;    4. 班级类:属性有班级名,学员,和学员一对多关系;    5. 学生类:继承基本类人,有其它属性选课、成绩,和班级(一对一);    7. 讲师类:继承基本类人,有其它属性教的课程;    7. 课程类:属性有课程名,价格,;    8. 帐户类:属性有帐号名、密码、状态、角色;(与人一对一)## 3. 选课系统程序目录结构.├── Course_selection_system│   ├── bin   # 可执行程序入口目录│   │   ├── __init__.py│   │   └── course_selection.py  # 程序入口│   ├── conf   # 配置文件目录│   │   ├── __init__.py│   │   ├── __pycache__│   │   │   ├── __init__.cpython-35.pyc│   │   │   ├── __init__.cpython-36.pyc│   │   │   ├── settings.cpython-35.pyc│   │   │   └── settings.cpython-36.pyc│   │   └── settings.py  # 配置文件│   ├── core    # 选课系统主要逻辑程序目录│   │   ├── __init__.py│   │   ├── __pycache__│   │   │   ├── __init__.cpython-35.pyc│   │   │   ├── __init__.cpython-36.pyc│   │   │   ├── logger.cpython-35.pyc│   │   │   ├── logger.cpython-36.pyc│   │   │   ├── main.cpython-35.pyc│   │   │   ├── main.cpython-36.pyc│   │   │   ├── operate.cpython-35.pyc│   │   │   └── operate.cpython-36.pyc│   │   ├── logger.py  # 日志记录模块│   │   ├── main.py   # 主程序模块│   │   └── operate.py  # 系统操作功能模块│   ├── db  # 数据库目录│   │   ├── __init__.py│   │   ├── accounts│   │   │   ├── 10000│   │   │   ├── 10001│   │   │   ├── 10002│   │   │   ├── 10003│   │   │   ├── 10004│   │   │   ├── 10005│   │   │   ├── __init__.py│   │   │   └── user_names│   │   ├── base│   │   │   └── base.db│   │   └── increment_id│   ├── lib│   │   ├── __init__.py│   │   ├── __pycache__│   │   │   ├── __init__.cpython-35.pyc│   │   │   ├── __init__.cpython-36.pyc│   │   │   ├── account.cpython-35.pyc│   │   │   ├── account.cpython-36.pyc│   │   │   ├── banji.cpython-35.pyc│   │   │   ├── banji.cpython-36.pyc│   │   │   ├── base.cpython-35.pyc│   │   │   ├── base.cpython-36.pyc│   │   │   ├── course.cpython-35.pyc│   │   │   ├── course.cpython-36.pyc│   │   │   ├── db.cpython-35.pyc│   │   │   ├── db.cpython-36.pyc│   │   │   ├── people.cpython-35.pyc│   │   │   ├── people.cpython-36.pyc│   │   │   ├── school.cpython-35.pyc│   │   │   └── school.cpython-36.pyc│   │   ├── account.py  # 帐户类│   │   ├── banji.py  # 班级类│   │   ├── base.py.  # 数据基础类│   │   ├── course.py  # 课程类│   │   ├── db.py  # 数据库连接类│   │   ├── people.py  # 人、学员、讲师类│   │   └── school.py  # 学校类│   └── log # 日志目录│       ├── __init__.py│       └── system.log # 系统日志└── README.md## 4. 测试帐户说明系统帐户:admin/admin讲师帐户:hgz/123学员帐户:hgz1/123

流程图

python 实现选课系统

代码:

链接: 密码:2rfj

转载于:https://blog.51cto.com/11019859/2065106

你可能感兴趣的文章
JS 二维数组
查看>>
spring整合redis使用RedisTemplate的坑Could not get a resource from the pool
查看>>
关于yolov3 训练输出值
查看>>
Nginx: error while loading shared libraries: libpcre.so.1解决
查看>>
MYSQL常用命令
查看>>
微信开发准备(四)--nat123内网地址公网映射实现
查看>>
EasyUI Calendar 日历
查看>>
26.Extjs 部门列表信息展示页面
查看>>
maven学习手记 - 3
查看>>
【零基础学习iOS开发】【02-C语言】03-关键字、标识符、注释
查看>>
Android 查看每个应用的最大可用内存
查看>>
Window 命令行神器:cmder
查看>>
阅读代码工具:Visual Studio Code
查看>>
skiing 暴力搜索 + 动态规划
查看>>
Ubuntu不能挂载Windows中的磁盘
查看>>
PHP学习(二)----数组
查看>>
Thread 源码分析
查看>>
数据库中什么叫象集
查看>>
php字符串比较
查看>>
[杂文]老罗的工匠情结
查看>>