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. 课程包含,周期,价格,通过学校创建课 ...
随机推荐
- PAT甲题题解-1029. Median (25)-求两序列的中位数,题目更新了之后不水了
这个是原先AC的代码,但是目前最后一个样例会超内存,也就是开不了两个数组来保存两个序列了,意味着我们只能开一个数组来存,这就需要利用到两个数组都有序的性质了. #include <iostrea ...
- Android的环境搭建
尽管以前并没有接触过软件开发.但是,现在网络资源实在是太丰富了.所以网搜了一下,认为Android的环境搭建可分为以下五个步骤来完成.第一步:安装JDK:第二步:配置Windows上JDK的变量环境: ...
- beta3
吴晓晖(组长) 过去两天完成了哪些任务 一些细节的debug,部分优化,算法中有关记录的部分 展示GitHub当日代码/文档签入记录 接下来的计划 推荐算法 还剩下哪些任务 组员:刘帅珍 过去两天完成 ...
- beta 圆桌 3
2018-12-16图片缺失,当日数据: 总工作量:24 已完成:5 剩余:19 031602111 傅海涛 1.今天进展 实时字幕的实现大概 2.存在问题 实时字幕存在不稳定和耗费资源 3.明天安排 ...
- [CB]Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束
Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束 北京时间12月12日晚,Intel在圣克拉拉举办了架构日活动.在五个小时的演讲中,Intel揭开了2021年CP ...
- 基于 Laravel 的 文件管理
以 laravel 5.5 为例,框架集成了文件系统和云存储功能 可以实现文件夹列表.创建.重命名.删除,文件列表.上传.重命名.删除等操作 一.先进行配置 在 config 文件夹下有 filesy ...
- C语言变长数组data[0]
1.前言 在刷题时遇到一个结构中包含char data[0],第一次见到时感觉很奇怪,数组的长度怎么可以为零呢?于是上网搜索一下这样的用法的目的,发现在linux内核中,结构体中经常用到data[0] ...
- 关于“代码规范”,“Review”和“Check list”
关于“代码规范”,“Review”和“Check list”,就我个人理解,这三者相辅相成.代码规范是在编程时就该注意的,为Review减轻负担.而要进行Review,又需要一个Check list作 ...
- Java之List排序功能举例
package test_demo; import java.util.ArrayList; import java.util.Collections; import java.util.List; ...
- 【大数据】Zookeeper学习笔记
第1章 Zookeeper入门 1.1 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.2 特点 1.3 数据结构 1.4 应用场景 提供的服务包括:统 ...