我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 实现选课系统

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

流程图
python 实现选课系统

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 实现选课系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 实现选课系统

角色:学校、学员、课程、讲师>作业需求 - [ ] 1.创建北京、上海 2 所学校- [ ] 2.创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开- [ ] 3.课程包含,周期,价
2023-01-31

python模拟选课系统

要求:角色:学校、学员、课程、讲师要求:1. 创建北京、上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课程4. 通过学校创
2023-01-31

Java怎样实现在线选课系统

Java怎样实现在线选课系统,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、项目简述功能: 系统分为三个角色。最高权限管理员,学生,教师,包括 学生管理,教师管理,课程管理,
2023-06-21

Python选课系统开发程序

本文程序针对Python选课系统进行开发,供大家参考,具体内容如下 角色:学校、学员、课程、讲师 要求: 1. 创建北京、上海 2 所学校 2. 创建linux , python , go 3个课程 , linuxpy 在北京开, go 在
2022-06-04

C++实现简易选课系统代码怎么写

今天就跟大家聊聊有关C++实现简易选课系统代码怎么写,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。下面是详细代码分享:#includeusing nam
2023-06-22

C++实现学生选课系统的思路与详细过程

C语言是在国内外广泛使用的一种计算机语言,下面这篇文章主要给大家介绍了关于C++实现学生选课系统的思路与详细过程,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-01-10

Java课程信息管理系统怎么实现

这篇文章主要讲解了“Java课程信息管理系统怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java课程信息管理系统怎么实现”吧!一、项目运行环境配置:Jdk1.8 + Tomcat8
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录