python 入门基础23 选课系统 项目
选课系统
# 选课系统
# 角色:学校、学员、课程、讲师
# 要求:
# 1. 创建北京、上海 2 所学校
# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开
# 3. 课程包含,周期,价格,通过学校创建课程
# 4. 通过学校创建班级, 班级关联课程、讲师
# 5. 创建学员时,选择学校,关联班级
# 5. 创建讲师角色时要关联学校,
# 6. 提供两个角色接口
# 6.1 学员视图, 可以登录,注册, 选择学校,选择课程,查看成绩
# 6.2 讲师视图, 讲师登录,选择学校,选择课程, 查看课程下学员列表 , 修改所管理的学员的成绩
# 6.3 管理视图,登录,注册,创建讲师, 创建班级,创建课程,创建学校
# 7. 上面的操作产生的数据都通过pickle序列化保存到文件里
分析:
角色:
管理员:
注册
登录
创建校区
创建老师
创建课程
老师:
登录
选择教授课程
查看课程下学生
修改学生的成绩
学生:
注册
登录
选择校区
选择课程
查看成绩
类:
抽出共有属性方法:Base
学校:School
学员:Student
课程:Course
讲师:Teacher
各个类属性和方法:
Base:
公用方法:
存数据:save
取数据:select
学校:
属性:
学校名字:school_name str
学校地址:school_addr str
开设的课程:course_list list
学员:
属性:
学员名字:student_name str
学员密码:student_pwd str
学员所属校区:school str
学员课程: course_list list
学员成绩: course_score dict
方法:
学员选择校区 choose_school(school_name)
列出所有校区的信息,学员选择
学员选择课程 choose_course(school_name)
学员必须先选择校区,列出该校区包含的课程
选择相应的课程,添加到学员课程列表中,并且将用户绑定给课程
讲师:
属性:
讲师名字:teacher_name str
讲师密码:teacher_pwd str
讲师课程: course_list list
方法:
讲师选择课程: choose_course(school_name, course_name)
先选择校区,列出该校区所有课程,讲师选择课程,如果没有选过,则添加
讲师修改学生的成绩:change_student_score(course, student_name)
通过自身对象中的课程列表,选择相应课程,调用课程下的所有学生信息,更改学生成绩
管理员:
属性:
管理员的名字:admin_name str
管理员的密码:admin_pwd str
方法:
管理员创建学校: create_school(school_name,school_addr)
直接输入学校的名字和地址,然后判断学校是否存在,不存在,则创建
管理员创建讲师: create_teacher(teacher_name)
直接创建讲师,密码为默认
管理员创建课程: create_course(school_name, course_name)
先选择校区,再创建课程名字,如果不存在,则创建这个课程
python 入门基础23 选课系统 项目的更多相关文章
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- python入门基础
Python 入门 变量 什么是变量?变量就是变化的量,核心是"变"和"量"两个字,变就是变化,量就是衡量状态. 为什么需要变量?程序执行的本质就是一系列状态的 ...
- Python入门 ---基础知识
Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...
- Python开发程序:选课系统-改良版
程序名称: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...
- Python开发程序:选课系统
本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...
- python 面向对象 class 老男孩选课系统
要求:1. 创建北京.上海 2 所学校 class2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课 ...
随机推荐
- 12.18daily_scrum
本软件中的最后一个界面——“关于”界面的设计已经开始进行,数据传输的内容也差不多进行过半,最主要的任务依旧在测试过程中,我们组接下来还是要大力加强测试的强度和数量,注意边际数据和错误数据的测试处理: ...
- 05-java学习-循环结构
for while do while 增强for 各种循环嵌套.循环和if的嵌套.switch的嵌套
- 如何花样展示自己的摄影作品?强大的WebGL能力展示
注意:Windows平台推荐使用Edge.Chrome.FireFox,部分浏览器打不开 P.S.慢慢用鼠标在图片上拖拽会感觉更神奇
- kickstart自动化安装
preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动. 工作模式为客户端/服务器端的c/s模式 客户端从远端服务器下载镜 ...
- 『编程题全队』alpha阶段项目复审
小组的名字和链接 优点 缺点,bug 报告 最终名次 Gakki赛高 (1)支持注册账号和账号管理(2) 支持自动登录,提供便捷性(3)题目不重复且题目答案准确(4)支持排行榜统计功能(5)自己设计算 ...
- 侧边导航栏css示例
效果展示: html: <div class="sidebar"> <ul> <li>优先级 <ul> <li>< ...
- Docker in Docker的安装 路不通
1. 先启动centos 镜像 然后 再docker cp文件 然后再执行安装报错 [root@CentOS75 ~]# docker run -it centos /bin/bash [root@1 ...
- sql 索引 sql_safe_updates
为了数据的安全性,mysql有一个安全性设置,sql_safe_updates ,当把这个值设置成1的时候,当程序要对数据进行修改删除操作的时候条件必须要走索引. 刚好现在也碰到了此类问题:网上找了相 ...
- centos7 登陆报错 grep:write error
出现这个原因是因为磁盘空间满了 通过df -h查看存储空间 发现磁盘空间满了,可以用 find / -type f -size +1000M 查找大于1000M的文件删除 然后找到用rm -rf 命令 ...
- 深入理解ajax系列第八篇——表单提交
前面的话 在以前,网站的用户与后端交互的主要方式是通过HTML表单的使用.表单的引入在1993年,由于其简单性和易用性,直到电子商务出现之前一直保持着重要位置.理解表单提交,对于更深入地理解ajax是 ...