首页 > 编程语言 >python之通过学校创建课程、班级、老师

python之通过学校创建课程、班级、老师

时间:2024-02-02 17:33:07浏览次数:30  
标签:班级 name python self class course 课程 teacher def

这是一个简单的类练习题:

 一、分析:

1.新增:1.新增学校:属性有学校编号,学校名称,学校地址
2.新增课程:属性有课程编号,课程名称,课程周期,课程价格
要求:通过学校创建课程
3.创建班级:班级属性:班级编号,班级名称
要求:需要关联课程,讲师
4.创建学员:属性:学员编号,学员名称,学员年龄
要求:关联学校,关联班级
5.创建讲师:属性:讲师编号,讲师名称
要求:关联学校


1.学员登录--》注册--》选班级--》交学费
2.讲师登录--》选择班级--》查看班级学员--》查看班级成绩
3.管理员登录--》创建讲师--》创建班级---》创建课程

二、简单画下模型:

 

 

 三、再来简单画下流程图:

先分析学校这个流程图:通过流程我们看出,学校的角度进行创建学校、创建课程、创建老师、创建班级,所以在学校类里面实现这个,即用学校列表、课程列表、老师列表及班级列表来存储;

再分别定义课程、老师、班级三个类,然后将三个类传入学校类中,实现上述功能。

 1 #!/usr/bin/python
 2 # class Education(object):
 3 #     def __init__(self, name):
 4 #         self.name = name
 5 #
 6 #     def show_info(self):
 7 #         pass
 8 #
 9 #     def __str__(self):
10 #         return self.name
11 
12 class School(object):
13     school=[]   #创建学校
14     course=[]   #创建课程
15     teacher=[]  #创建老师
16     teacher_class=[]  #创建班级并关联课程和老师
17 
18     def __init__(self,name,school_addr):
19         self.name=name
20         self.__school_addr=school_addr
21     def create_school(self):
22         x=[self.name,self.__school_addr]
23         self.school.append(x)
24         print('%s创建成功'%self.name)
25 
26 
27     def create_course(self,name,course_semester,course_price):
28         course=Course(name,course_semester,course_price).create_course() #将课程类的参数引用过来,或者将课程类的方法引用过来
29         self.course.append(course)
30         print('%s创建成功'%name )
31 
32     def create_teacher(self,name):
33         teacher=Teacher(name).create_teacher()
34         self.teacher.append(teacher)
35 
36     def create_class(self,name):
37         #先执行选择课程
38         print(self.course)
39         choice_course=input('请选择课程')
40         print(self.teacher)
41         choice_teacher=input('请选择讲师')
42         compare_course=[]
43         for i in self.course:
44             compare_course.append(i[0])
45         if choice_course in compare_course and choice_teacher in self.teacher:
46         #新增班级
47             teacher_class=[Teacher_class(name).teacher_class_list(),choice_course,choice_teacher]
48             self.teacher_class.append(teacher_class)
49         else:
50             print('选择不正确')
51 
52 
53 
54 
55 
56 class Course(object):
57     def __init__(self,name,course_semester,course_price):
58         self.name=name
59         self.course_semester=course_semester
60         self.course_price=course_price
61 
62     def create_course(self):
63         course_list=[self.name,self.course_semester,self.course_price]
64         # print(course_list)
65         return course_list
66 
67 class Teacher(object):
68     def __init__(self,name):
69         self.name=name
70     def create_teacher(self):
71         teacher_list=self.name
72         return teacher_list
73 
74 
75 class Teacher_class(object):
76     def __init__(self,name):
77         self.name=name
78     def teacher_class_list(self):
79         teacher_class_list=[self.name]
80         return teacher_class_list
81 
82 
83 x=School('上海校区','上海')
84 x.create_course('数学','2',1534)
85 print(x.course)
86 x.create_teacher('test')
87 print(x.teacher)
88 x.create_class('1101班')
89 print(x.teacher_class)
View Code

 

标签:班级,name,python,self,class,course,课程,teacher,def
From: https://www.cnblogs.com/Little-Girl/p/18003570

相关文章

  • 桌面应用开发GTK3 Glade (Python)
    目录Github官方文档简介环境配置注意版本gtk4版本Demo.pydemo.gladegtk+3版本demo.pyGithubhttps://github.com/GNOME/pygobjecthttps://gitlab.gnome.org/GNOME/pygobject官方文档https://pygobject.readthedocs.io/en/latest/简介PyGObject是一个用于将GTK+和其......
  • Python Web 项目部署
    记录下一般的Pythonweb项目开发后如何部署到外部服务器上,供用户访问。1简要本质三件事:租个服务器(含公网ip)+配置环境电脑+公网IP自己电脑+拉专线代码放在服务器程序运行起来2搞一台云服务器租一个linux系统的云服务器,并获得一个公网IP,例如直接购买云服务......
  • Python数据类型——数字、布尔、空类型
    一、数字类型整型int:就是整数,既是整型的代表,又是定义整型的内置函数定义一个整型,并不一定非要使用int浮点类型float:凡是带有小数点的类型,都可以认为是浮点类型。既是浮点型的代表,又是定义浮点型的内置函数定义一个浮点型,并不一定非要使用float内置函数type:返回变量的类型,告诉我......
  • 一、Python概述
    一、python脚本的结构1-1python头部注释头注释:为解释器定制的规则。头注释作用:被系统或者解释器所用,如:告诉系统python解释器在那个位置、脚本编码格式是什么。头注释结构:#注释内容常见的头注释:#coding:utf-8:定义coding,告诉系统脚本是何编码格式。#!/usr/bin/env:定义#......
  • 理论与实战:一篇看懂Python词云
    理论与实战:一篇看懂Python词云后宫王镇贴前言:本文初编辑于2024年2月2日该项目代码的仓库地址:https://github.com/A-Piece-Of-Maple/WordCloudCSDN:https://blog.csdn.net/rvdgdsva博客园:https://www.cnblogs.com/hassle总结截至2024.2.2,想要学习词云,能够找到的文章大部......
  • 13个可能未使用过的Python特性
    大多数程序员不知道的令人难以置信的功能列表。Python是顶级编程语言之一,它具有许多程序员从未使用过的许多隐藏功能。在这篇文章中,我将分享你可能从未使用过的13个Python特性。1.列表Stepping这是一个step参数,可以通过采取几个步骤来分割你的列表。此外,你可以使用step参数......
  • Python中用PyTorch机器学习神经网络分类预测银行客户流失模型|附代码数据
    阅读全文:http://tecdat.cn/?p=8522最近我们被客户要求撰写关于神经网络的研究报告,包括一些图形和统计输出。分类问题属于机器学习问题的类别,其中给定一组特征,任务是预测离散值。分类问题的一些常见示例是,预测肿瘤是否为癌症,或者学生是否可能通过考试在本文中,鉴于银行客户的某些......
  • Python3 JSON
    PythonJSON转换 python3的json.loads不支持encoding#python3.11JSON序列化、反序列化importjsondefdata=’{\"Message":"消息", \"Timestamp":"时间戳" \}' #字符串转换编码集为UTF-8json_str=data.encode('ut......
  • PyQt5+python AttributeError: 'QMainWindow' object has no attribute 'slot1'解决办
    Step1.原因分析因为以前写过pyqt5,所以还是有一定的基础的,但是最近重新写上位机的时候,突然发现以前的办法不好用了,以前就是直接从Qtdesigner创建完成后,使用指令生成一个py文件,从main文件中调用就可以了,这次发现,直接使用槽函数,会报错AttributeError:'QMainWindow'objec......
  • 手动启动chrome 后。python然后接管控制
    手动启动chrome后。python然后接管控制应用场景: 1要求输入点选验证码2要求输入手机验证码的网站 startchrome--remote-debugging-port=9527--user-data-dir="D:\pro-zp\selenium" 第一步手动启动 cdC:\Users\hp\AppData\Local\Google\Chrome\Appl......