python 实现选课系统

角色:学校、学员、课程、讲师

>作业需求

- [ ] 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

流程图

代码:
链接:https://pan.baidu.com/s/1pNmOCjD 密码:2rfj

原文地址:http://blog.51cto.com/11019859/2065106

时间: 2024-08-03 00:24:49

python 实现选课系统的相关文章

Python作业-选课系统

Python作业-选课系统 学习 python Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 days6作业-选课系统: 角色:学校.学员.课程.讲师 作业需求 1.创建北京.上海 2 所学校 2.创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开 3.课程包含,周期,价格,通过学校创建课程 4.通过学校创建班级, 班级关联课程.

python之选课系统详解[功能未完善]

作业需求 思路:1.先写出大体的类,比如学校类,学生类,课程类--   2.写出类里面大概的方法,比如学校类里面有创建讲师.创建班级-- 3.根据下面写出大致的代码,并实现其功能       遇到的困难: 1.在类与类关联上卡住了,比如: 老师如何查看班级信息?? 老师有班级名称的属性, 而要查看班级信息,需要班级对象 那应该将老师的班级名称与班级对象相关联起来 那不同老师怎么办?? 所以学校创建 老师对象时,应该将老师名称与老师对象相关联起来 通过输入老师名称即可找到老师对象 2. 想把讲师对

python模拟选课系统

要求: 角色:学校.学员.课程.讲师 要求: 1. 创建北京.上海 2 所学校 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开 3. 课程包含,周期,价格,通过学校创建课程 4. 通过学校创建班级, 班级关联课程.讲师 5. 创建学员时,选择学校,关联班级 5. 创建讲师角色时要关联学校, 6. 提供两个角色接口 6.1 学员视图, 可以注册, 交学费, 选择班级, 6.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班

python第三十五天-----作业完成--学校选课系统

选课系统:角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课程 4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级5. 创建讲师角色时要关联学校, 6. 提供两个角色接口6.1 学员视图, 可以注册, 交学费, 选择班级,6.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 ,

Python模拟登陆3: 进入选课系统(手工输入验证码阶段)

其实最想做的是选课插件,于是这次试试了下选课系统,但是选课系统 有验证码. 很是蛋疼. 需要识别. 但是现在可以用另一种方法.就是下载到本地手动输入.也只需要一次就够了.因为登陆成功后就可以随意操作其他东西了. 后面再学习验证码的智能识别. 首先主要是模拟逻辑是.先设置一个cookie存储器,用它去访问验证码链接.然后会得到cookie.还有下载好的验证码图片,就在本地.然后再把验证码,用户名,密码,和那个cookie一起提交到登陆.于是cookie就一致了. 有点不舒服的就是需要在本地看下那个

Python开发程序:选课系统-改良版

程序名称: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课程 4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级6. 创建讲师角色时要关联学校, 7. 提供两个角色接口8. 学员视图, 可以注册, 交学费, 选择班级,9. 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员

Python开发程序:选课系统

本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课程 4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级5. 创建讲师角色时要关联学校, 6. 提供两个角色接口7. 学员视图, 可以注册, 交学费, 选择班级,8. 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员

Python选课系统

Python选课系统 一.程序介绍 需求: 开发一个简单的python计算器 角色:学校.学员.课程.讲师 要求: 1. 创建北京.上海 2 所学校 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开 3. 课程包含,周期,价格,通过学校创建课程 4. 通过学校创建班级, 班级关联课程.讲师 5. 创建学员时,选择学校,关联班级 6. 创建讲师角色时要关联学校, 7. 提供两个角色接口 7.1 学员视图, 可以注册, 交学费, 选择班级,

3.python小项目:学生选课系统

学生选课系统 编程核心:在对象中封装对象 目录结构: 1.administrator.py import random import os import sys sys.path.append(os.path.dirname(os.path.dirname(__file__))) import time import pickle from lib import models from config import settings from lib.models import * # 全部导入