python选课系统代码_python模拟选课系统

要求:

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

要求:

1. 创建北京、上海 2 所学校

2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开

3. 课程包含,周期,价格,通过学校创建课程

4. 通过学校创建班级, 班级关联课程、讲师

5. 创建学员时,选择学校,关联班级

5. 创建讲师角色时要关联学校,

6. 提供两个角色接口

6.1 学员视图, 可以注册, 交学费, 选择班级,

6.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 修改所管理的学员的成绩

6.3 管理视图,创建讲师, 创建班级,创建课程

7. 上面的操作产生的数据都通过pickle序列化保存到文件里

一、程序流程图

二、程序代码

初步代码:

2.1 创建类

class School(object):

'''

对象1:

特征:

学校 = bj_oldboy_school

技能:

linux/python

对象2:

特征:

学校 = sh_oldboy_school

技能:

go

'''

def __init__(self, school_name, city_name, teachers=None, courses=None, students=None, banjis=None):

'''

:param school_name: 学校名

:param city_name: 城市名

:param teachers: 讲师

:param courses: 课程

:param students: 学员

:param banjis: 班级

'''

self.school_name = school_name

self.city_name = city_name

self.teschers = teachers

self.courses = courses

self.students = students

self.banjis = banjis

def show_info(self,attr=None):

'''

显示课程/讲师/学生/班级

:return:

'''

pass

def get_instance(self):

'''

根据名字获取对象

:return:

'''

pass

class Teacher:

'''

对象1:

特征:

姓名 = egon

性别 = 男

年龄 = 18

技能:

选择上课班级

修改学员成绩

查看班级学员

'''

def __init__(self,teaching, name, age, sex='male'):

'''

讲师属性

:param teaching:

:param name:

:param age:

:param sex:

'''

pass

def modify_score(self):

'''

修改学员成绩

:return:

'''

pass

class students:

'''

对象1:

特征:

姓名 = hgz

性别 = 男

年龄 = 18

课程 = python

班级 = python-20

技能:

选课

选班级

注册

交学费

'''

def __init__(self,name,sex,age,course,banji):

'''

学员属性

:param name: 学员姓名

:param sex: 性别

:param age: 年龄

:param course: 课程

:param banji: 班级

'''

pass

def choose_course(self,course):

'''

选课

:param course:

:return:

'''

pass

class choose_course(object):

'''

对象1:

特征:

课程名称

价格

技能:

'''

def __init__(self,course,price):

'''

课程属性

:param course: 课程名称

:param price: 价格

'''

pass

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php验证密码后跳转_php-laravel框架用户验证(Auth)模块解析(四)忘记密码

一、忘记密码模块路由二、控制器解析跟注册、登录的控制器一样,大部分的逻辑使用trait引入。ForgotPasswordController:负责忘记密码页面,以及邮件发送四、扩展开发:自定义的忘记密码行为忘记密码有多种处理方式,这里默…

flume数据丢失与重复_Flume监听文件到kafka,文件通道,kafka消费重复问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#me the components on this agenta1.sources r1a1.sinks k1a1.channels c1# Describe/configure the sourcea1.sources.r1.type execa1.sources.r1.command tail -F /usr/local/test1.txta1.sources.r1.fileHeader truea1.s…

MBSE系统工程是什么

MBSE(基于模型的系统工程)是现代系统工程的最新发展结果。 曾经的产品设计师利用纸笔绘制图版来制作产品和设计,在CAD这类三维建模软件的出现,让工程师们甩掉了图板和图纸,带来的效益大家都能理解。 目前系统工程师们…

python输出箭头代码_python matplotlib 注释文本箭头简单代码示例

注释文本箭头结果展示:完整代码示例:import numpy as npimport matplotlib.pyplot as pltfig,ax plt.subplots(figsize(5,5))ax.set_aspect(1)x1 -1 np.random.randn(100)y1 -1 np.random.randn(100)x2 1. np.random.randn(100)y2 1. np.random…

《数字孪生体技术白皮书》

导读:这几年,数字孪生体的概念炙手可热,越来越成为从工业到产业、从军事到民生各个领域的智慧新代表。数字孪生体实验室与安世亚太联合正式发布了《数字孪生体技术白皮书(2019)》。希望本白皮书能为业内同行提供参考&a…

python换行后开头有缩进_python编码规范(三)--空行,换行,缩进

1.空行空一行:用于类成员函数之间,或者用于区分不同逻辑块空两行:类与类,类与函数,函数与函数之间class Test(object):"""Test class,提供通用的方法"""def __init__(self):""…

数值计算软件有哪些?一款国产软件非常亮眼。

数值计算软件有哪些?一款国产软件非常亮眼。 数学软件由算法标准程序发展而来, 大致形成于70年代初期。随着几大数学软件工程的开展,如美国的NATS工程,人们探索了产生高质量数学软件的方式、方法和技术。 经过长期积累,已有丰富的、涉及广泛数…

linux 删除分区_详解linux系统架构--文件系统体系

概述之前已经对Linux系统架构的内核部分单独做了深入介绍,今天就拿Linux系统架构中的文件系统做一下介绍吧~先介绍下概念:文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、EXT4、 FA…

什么是数字孪生,为什么对物联网很重要

数字孪生是物理设备的虚拟呈现,数据科学家和IT专业人员可以在开发实际项目之前使用数字孪生技术来模拟运行。数字孪生还改变了物联网、人工智能和数据分析等技术的优化方式。 什么是数字孪生? 数字孪生是指物理世界或系统的虚拟数字化呈现。数字孪生背后…

plsql如何查看mysql库_plsql 如何查看表数据库表

如何使用PLSQL Developer从oracle数据库 导入导出数据如何使用PLSQL Developer从oracle数据库 导入导出数据   用pl/sql developer导出表的数据时有三种方式:Oracle Export,Sql Insert,pl/sql developer   只有“Oracle Export”方式导出…

2020年工业软件的处境是“危”还是“机”?

2020年,工业软件发展所面临的“危机”,如同硬币的两面,在时代强光的照射之下尤其引人注目。硬币的A面首先是“危“。 2020年中,MATLAB等多家国外知名工业软件产品在国内多家机构被禁用,让很多业外人士都关注到了这一系…

GOF设计模式之桥接模式

一、引入 现需要提供能够绘制4种不同颜色且笔画粗细有大中小3种型号的画笔。 方法一:蜡笔 我们需要准备3*412支蜡笔,也就是说必须准备12个具体的蜡笔类 方法二:毛笔 只需要准备三种型号的毛笔,外加四个颜料盒,用347…

antd 设置表头属性_使用表数据自定义React Antd表头

In my React project, I need to customize antd table header as followsI have added sample code bellow.I need to have Sum of the amount in the header of the Amount columnSample Code:解决方案You can use title function like this for get total of amount fieldsc…

c6x Linux 内核中断分析

1. 内核中断介绍 1.1 中断简介 所有支持Linux的平台都采用了中断(interrupt)的概念,以便(因种种原因)引入周期性的中断。需要区分两种类型的中断。 1. 硬件中断(hardware interrupt)&#xff1a…

ccf 智能运维 裴丹_智能运维 聊一聊实时计算系统

本文是我在实时数据计算系统的设计、开发、运维生涯的一部分经验总结。主要介绍一些设计思路和常见问题的解决方案,不关注具体计算框架的使用。本人主要致力于监控系统数据计算方向,主要业务场景有:监控数据的ETL、数据汇聚、分析、异常检测等…

系统建模、分析、仿真和验证软件工具ModelCodoer

在安全关键领域,基于模型的软件工程已逐渐进入了我国的装备研制过程中。使用SimuLink或者SCADE等嵌入式软件建模工具进行可视化建模,然后生成高可靠的二进制代码逐渐成为了安全关键领域的主流软件开发方式。由迪捷软件自主研发的系统建模、分析、仿真和验…

php配置email支持_使用PHPMailer实现PHP发邮件功能

第一步:打开网址https://github.com/PHPMailer/PHPMailer/ 下载PHPMailer,PHPMailer 需要 PHP 的 sockets 扩展支持,而登录 QQ 邮箱 SMTP 服务器则必须通过 SSL 加密的, PHP 还得包含 openssl 的支持。第二步:使用 php…

如何构建裸机hello world目标程序并在SkyEye全数字实时仿真平台上运行及调试?

SkyEye全数字实时仿真平台,简称SkyEye,是一款支持 ARM、TI DSP、PowerPC、X86、SPARC、龙芯、飞腾等多种处理器体系架构的指令级仿真平台。 SkyEye可以部署在桌面计算机上,开发人员可以基于SkyEye提供的已有模型库的组件(如处理器…

bigdicmal除法精度设置_BigDecimal 高精度计算 熟悉扩展,java除法保留小数问题

java保留两位小数问题:方式一:四舍五入double f 111231.5585;BigDecimal b new BigDecimal(f);double f1 b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();保留两位小数---------------------------------------------…

「基于模型的系统工程」的发展历程

节选自《「基于模型的系统工程」的发展历程》,因篇幅有限,完整报告文末领取。 当下,人们热衷于讨论基于计算机的建模、模型、数据库和敏捷设计方法。然而,很少有人会耐心地审视和理解大量的技术创新,这些技术创新和发…