选课系统

代码地址:github_code

# 选课系统
# 角色:学校、学员、课程、讲师
# 要求:
# 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 选课系统 项目的更多相关文章

  1. Python 入门基础6 --字符编码、文件操作1

    今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...

  2. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  3. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  4. Python入门基础学习 一

    Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...

  5. python入门基础

    Python 入门 变量 什么是变量?变量就是变化的量,核心是"变"和"量"两个字,变就是变化,量就是衡量状态. 为什么需要变量?程序执行的本质就是一系列状态的 ...

  6. Python入门 ---基础知识

    Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...

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

    程序名称: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...

  8. Python开发程序:选课系统

    本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...

  9. python 面向对象 class 老男孩选课系统

    要求:1. 创建北京.上海 2 所学校 class2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课 ...

随机推荐

  1. PAT甲级题解-1100. Mars Numbers (20)-字符串处理

    没什么好说的,注意字符串的处理,以及当数字是13的倍数时,只需高位叫法的单词.比如26,是“hel”,而不是“hel tret”. 代码: #include <iostream> #inc ...

  2. java实验报告二

    一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 二.实验步骤 (一)单元 ...

  3. LINUX内核分析第四周学习总结——扒开系统调用的“三层皮”

    LINUX内核分析第四周学习总结--扒开系统调用的"三层皮" 标签(空格分隔): 20135321余佳源 余佳源 原创作品转载请注明出处 <Linux内核分析>MOOC ...

  4. 第一个spring冲刺总结及后诸葛亮报告(附团队贡献分)

    眨眼就完结了第一阶段的冲刺了,之前因为学校停电停水等诸多原因而导致冲刺完毕时间的推迟. 第一阶段总体是做到了运算的功能,只是一些基本的功能实现,但能保证的容错性能较高. 1.在普遍的四则运算中都能见到 ...

  5. We are a 团队

    虽然在团队中只是拖后腿的存在,但是几个人一起摸索着前进也确实有着不一样的感觉. 我们队伍共有五个人:董强强.张振鑫.王鼎.高庆阳还有我(排名不分先后) 我们有自己的关于软件工程的QQ群,会在群里讨论一 ...

  6. Beta 冲刺 三

    团队成员 051601135 岳冠宇 031602629 刘意晗 031602248 郑智文 031602330 苏芳锃 031602234 王淇 照片 项目进展 岳冠宇 ## 项目进展 昨天的困难 ...

  7. Ubuntu忘记MySQL密码重设方法

    ====================忘了mysql密码,从网上找到的解决方案记录在这里==================== 结束当前正在运行的mysql进程 # /etc/init.d/mys ...

  8. Docker(一)-Docker介绍

    什么就Docker? Docker是一个开源项目, 诞生于2013年初,最初是dotCloud公司内部的一个业余项目.它基于Google公司推出的Go语言实现.项目后来加入了Linux基金会,遵从了A ...

  9. Java 工厂方法模式

    在工厂对象上调用创建方法,生成接口的某个实现的对象 通过这种方式,接口与实现分离 方法接口 /** * 方法接口 */ public interface Service { void method1( ...

  10. php学习目录

    前面的话 前端工程师为什么要学习php?是因为招聘要求吗?这只是一方面 一开始,我对学习php是抵触的,毕竟javascript已经够自己喝一壶的了,再去学习php,可能让自己喝醉.但是,在学习jav ...