关键词:
如下是要求:
# 角色:学校、学员、课程、讲师
# 要求:
# 1. 创建北京、上海 2 所学校
# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开
# 3. 课程包含,周期,价格,通过学校创建课程
# 4. 通过学校创建班级, 班级关联课程、讲师
# 5. 创建学员时,选择学校,关联班级
# 5. 创建讲师角色时要关联学校,
# 6. 提供两个角色接口
# 6.1 学员视图, 可以注册, 交学费, 选择班级,
# 6.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 修改所管理的学员的成绩
# 6.3 管理视图,创建讲师, 创建班级,创建课程
# 7. 上面的操作产生的数据都通过pickle序列化保存到文件里
如下是目录结构:
start.py
1 import sys, os, pickle 2 sys.path.append(os.path.dirname(os.path.dirname(__file__)) + "\\" + "core") 3 from main import Main 4 5 obj = Main() 6 obj.run()
init_db.py
1 # 此程序作为初始化数据库 2 import sys,os 3 sys.path.append(os.path.dirname(os.path.dirname(__file__))+"\\"+"module") 4 from pickle_file import pickle_wb,pickle_rb 5 6 teacher_db = [["学校","讲师","年龄","性别"]] 7 classes_db = [["班级","学校","课程","讲师","周期","价格"]] 8 stu_db = [["编号","姓名","年龄","性别","学费","班级"]] 9 10 def init_db(): 11 if "teacher_db" not in os.listdir(os.path.dirname(os.path.dirname(__file__))+"\\"+"db"): 12 pickle_wb("teacher_db", teacher_db) 13 else: 14 pass 15 16 if "classes_db" not in os.listdir(os.path.dirname(os.path.dirname(__file__))+"\\"+"db"): 17 pickle_wb("classes_db", classes_db) 18 else: 19 pass 20 21 if "stu_db" not in os.listdir(os.path.dirname(os.path.dirname(__file__))+"\\"+"db"): 22 pickle_wb("stu_db", stu_db) 23 else: 24 pass
main.py
1 # 角色:学校、学员、课程、讲师 2 # 要求: 3 # 1. 创建北京、上海 2 所学校 4 # 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开 5 # 3. 课程包含,周期,价格,通过学校创建课程 6 # 4. 通过学校创建班级, 班级关联课程、讲师 7 # 5. 创建学员时,选择学校,关联班级 8 # 5. 创建讲师角色时要关联学校, 9 # 6. 提供两个角色接口 10 # 6.1 学员视图, 可以注册, 交学费, 选择班级, 11 # 6.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 修改所管理的学员的成绩 12 # 6.3 管理视图,创建讲师, 创建班级,创建课程 13 # 7. 上面的操作产生的数据都通过pickle序列化保存到文件里 14 15 class Main(object): 16 def __init__(self): 17 pass 18 19 def run(self): 20 21 import sys,os,pickle 22 sys.path.append(os.path.dirname(os.path.dirname(__file__))+"\\"+"module") 23 from init_db import init_db 24 from school import School 25 from lesson import Lesson 26 from classes import Classes 27 from school_member import Schoolmember,Teacher,Student 28 from pickle_file import pickle_wb,pickle_rb 29 30 31 msg = """ 32 学校管理系统 33 1、学校管理 34 2、讲师管理 35 3、学员管理 36 4、退出 37 """ 38 mgr = """ 39 1、创建讲师 40 2、创建班级 41 3、创建课程 42 4、查看讲师信息 43 5、查看班级、课程信息 44 6、返回上一级 45 """ 46 stu = """ 47 1、注册 48 2、交学费 49 3、选择班级 50 4、查看学员信息 51 5、返回上一级 52 """ 53 54 init_db() 55 school_bj = School("北京") 56 school_sh = School("上海") 57 lesson_linux = Lesson("linux",10000,"6 month") 58 lesson_python = Lesson("python",11000,"8 month") 59 lesson_go = Lesson("go",8000,"6 month") 60 flag = True 61 while flag: 62 print(msg) 63 choice = input("请选择系统 :") 64 if choice == "1": 65 while True: 66 print(mgr) 67 choice = input("请选择功能 :") 68 if choice == "1": 69 print("创建讲师 :\n请选择学校:\n1、北京\n2、上海") 70 num = 0 71 while True: 72 school_num = input("请选择学校 :") 73 if num < 2: 74 if school_num == "1": 75 school_choice = school_bj.school_name 76 break 77 elif school_num == "2": 78 school_choice = school_sh.school_name 79 break 80 else: 81 print("请输入正确编号!") 82 num += 1 83 else: 84 print("尝试次数过多!") 85 exit() 86 teacher_name = input("请输入教师名字 :") 87 age = input("请输入教师年龄 :") 88 sex = input("请输入教师性别 :") 89 teacher_data = school_bj.create_teacher(school_choice,teacher_name,age,sex) 90 teacher_db_data = pickle_rb("teacher_db") 91 teacher_db_data.append(teacher_data) 92 pickle_wb("teacher_db",teacher_db_data) 93 elif choice == "2": 94 classes_data = [] 95 c_name_list = [] 96 classes_db_data = pickle_rb("classes_db") 97 while True: 98 c_name = input("\n创建班级\n请输入班级编号(格式001) :") 99 for i in classes_db_data: 100 c_name_list.append(i[0]) 101 if c_name in c_name_list: 102 print("班级名称已存在!") 103 print("已有如下班级:") 104 for j in c_name_list: 105 print(j) 106 else:break 107 school_num = input("\n1、北京(linux与python课程)\n2、上海(go课程)\n请选择学校 :") 108 lesson_choice = "" 109 if school_num == "1": 110 school_choice = school_bj.school_name 111 lesson_num = input("\n1、linux\n2、python\n请选择课程 :") 112 if lesson_num == "1": 113 lesson_choice = lesson_linux.lesson_name 114 lesson_choice_cycle = lesson_linux.cycle 115 lesson_choice_price = lesson_linux.price 116 elif lesson_num == "2": 117 lesson_choice = lesson_python.lesson_name 118 lesson_choice_cycle = lesson_python.cycle 119 lesson_choice_price = lesson_python.price 120 else: 121 print("没有这门课程") 122 exit() 123 elif school_num == "2": 124 school_choice = school_sh.school_name 125 lesson_choice = lesson_go.lesson_name 126 lesson_choice_cycle = lesson_go.cycle 127 lesson_choice_price = lesson_go.price 128 else: 129 print("没有此编号!") 130 exit() 131 teacher_data = pickle_rb("teacher_db") 132 teacher_name = {} 133 for i,ele in enumerate(teacher_data): 134 teacher_name[i] = ele[1] 135 for key,value in teacher_name.items(): 136 if key == 0:continue 137 else:print("%s、%s" % (key,value)) 138 teacher_choice = input("请选择讲师 :") 139 classes_data.append(c_name) 140 classes_data.append(school_choice) 141 classes_data.append(lesson_choice) 142 classes_data.append(teacher_name[int(teacher_choice)]) 143 classes_data.append(lesson_choice_cycle) 144 classes_data.append(lesson_choice_price) 145 classes_db_data = pickle_rb("classes_db") 146 classes_db_data.append(classes_data) 147 pickle_wb("classes_db",classes_db_data) 148 elif choice == "3": 149 classes_data = [] 150 c_name_list = [] 151 classes_db_data = pickle_rb("classes_db") 152 school_num = input("\n1、北京(linux与python课程)\n2、上海(go课程)\n请选择学校 :") 153 lesson_choice = "" 154 if school_num == "1": 155 school_choice = school_bj.school_name 156 lesson_num = input("\n1、linux\n2、python\n请选择课程 :") 157 if lesson_num == "1": 158 lesson_choice = lesson_linux.lesson_name 159 lesson_choice_cycle = lesson_linux.cycle 160 lesson_choice_price = lesson_linux.price 161 elif lesson_num == "2": 162 lesson_choice = lesson_python.lesson_name 163 lesson_choice_cycle = lesson_python.cycle 164 lesson_choice_price = lesson_python.price 165 else: 166 print("没有这门课程") 167 exit() 168 elif school_num == "2": 169 school_choice = school_sh.school_name 170 lesson_choice = lesson_go.lesson_name 171 lesson_choice_cycle = lesson_go.cycle 172 lesson_choice_price = lesson_go.price 173 else: 174 print("没有此编号!") 175 exit() 176 while True: 177 c_name = input("\n创建班级\n请输入班级编号(格式001) :") 178 for i in classes_db_data: 179 c_name_list.append(i[0]) 180 if c_name in c_name_list: 181 print("班级名称已存在!") 182 print("已有如下班级:") 183 for j in c_name_list: 184 print(j) 185 else:break 186 teacher_data = pickle_rb("teacher_db") 187 teacher_name = {} 188 for i,ele in enumerate(teacher_data): 189 teacher_name[i] = ele[1] 190 for key,value in teacher_name.items(): 191 if key == 0:continue 192 else:print("%s、%s" % (key,value)) 193 teacher_choice = input("请选择讲师 :") 194 classes_data.append(c_name) 195 classes_data.append(school_choice) 196 classes_data.append(lesson_choice) 197 classes_data.append(teacher_name[int(teacher_choice)]) 198 classes_data.append(lesson_choice_cycle) 199 classes_data.append(lesson_choice_price) 200 classes_db_data = pickle_rb("classes_db") 201 classes_db_data.append(classes_data) 202 pickle_wb("classes_db",classes_db_data) 203 elif choice == "4": 204 teacher_data = pickle_rb("teacher_db") 205 for i,item in enumerate(teacher_data): 206 print(i,item) 207 input("回车返回上级菜单。") 208 elif choice == "5": 209 classes_db_data = pickle_rb("classes_db") 210 for i,item in enumerate(classes_db_data): 211 print(i,item) 212 input("回车返回上级菜单。") 213 elif choice == "6": 214 break 215 elif choice == "4": 216 exit() 217 elif choice == "3": 218 while True: 219 print(stu) 220 choice = input("请选择功能 :") 221 if choice == "1": 222 stu_list = [] 223 stu_db_data = pickle_rb("stu_db") 224 len_stu_db_data = len(stu_db_data) 225 stu_list.append("00"+str(len_stu_db_data)) 226 stu_name = input("请输入学生姓名 :") 227 stu_age = input("请输入学生年龄 :") 228 stu_sex = input("请输入学生性别 :") 229 stu_data = Student(stu_name,stu_age,stu_sex) 230 stu_list.append(stu_data.name) 231 stu_list.append(stu_data.age) 232 stu_list.append(stu_data.sex) 233 stu_list.append("未付款") 234 stu_list.append("未选择") 235 stu_db_data = pickle_rb("stu_db") 236 stu_db_data.append(stu_list) 237 pickle_wb("stu_db",stu_db_data) 238 239 elif choice == "2": 240 stu_db_data = pickle_rb("stu_db") 241 stu_unpay = [] 242 stu_unpay_id = [] 243 stu_id = [] 244 for i in stu_db_data: 245 if i[4] == "未付款[terry笔记]对人员列表文件进行数据库操作原文件(数据已经脱敏):staff_id,name,age,phone,dept,enroll_date1,姬建明,25,152015410,运维,2013-11-012,刘海龙,26,186184177,运维,2012-12-253,闫培飞,25,157016802,IT,2015-10-144,孙海涛,33,158206312,IT,2005-09-275,张亚磊,24 查看详情
课程笔记人工智能导论——从四个学校东拼西凑的产物
文章目录第三章一阶谓词逻辑表示法谓词连接词量词一阶谓词逻辑知识表示法产生式规则表示法产生式系统语义网络表示法分块语义网络分类学网络推理网络框架表示法框架结构框架表示法的特点第四章状态空间表示法状态算符... 查看详情
元学习-learninghowtolearn-q&a:terry访谈录
Q&A:Terry访谈录Q1:怎样面对完全陌生的学习领域?A1:敢于实践,而不是大量阅读;取得专家的指点 Q2:怎样长时间保持注意力集中?A2:以向讲述人或者自己提问的方式积极参与 Q3:如何进入发散模式?A3:户外锻炼... 查看详情
学校实施信息化管理还可借助哪些工具?
对于学校的管理,尤其是在互联网时代,如何将高效的信息化管理结合在实际工作中去,估计每个管理者都有自己的疑虑和困难。只有把学校管理好了,学校才能长期发展下去,不然学员在多,老师在好,校区也会因为没有管理... 查看详情
学校管理系统
00448学校管理学
1.第一章绪论2.第二章学校领导体制3.第三章学校管理过程4.第四章学校管理原则5.第五章学校管理方法6.第六章全面贯彻教育方针7.第七章实施素质教育8.第八章依法治校9.第九章校长管理10.第十章教师管理11.第十一章学生管理 查看详情
云教务学校管理系统源码
简介:软件名称云教务学校管理系统源码云教务开源管理系统云教务开源系统MoMA云教务管理软件云教务开源软件云教务教育机构管理系统源码云教务培训机构管理系统,云教务系统源码,学校管理系统源码分享项目... 查看详情
访客管理系统为学校设置第一道安全门
...有一道坚实可靠的安全屏障。一直以来,加强学校的访客管理系统,都是建设平安校园的重要项目,也是学校尤为关注的方面。我们都知道,中小学上课期间,学校实行封闭式管理,外来人员想要进入校园,必须通过门卫处的认... 查看详情
阅读笔记《c程序员从校园到职场》第二章学校到职场
一、代码规范:1、变量命名(让人一眼看它是什么意思,要做什么操作),定义并初始化2、函数命名规范(函数的功能)在主函数之前进行声明。在实际项目中,一般不在函数调用者的内部来对被调函数进行声明,而是将声明... 查看详情
学校作业管理系统简单实现
作业管理系统---------------------------------------------------------2016-09-21---------------------------------------------------------------一、业务需求:1、前台学生注册(指定小组)学生注册,添加一个用户学生登录查询操作提交作业(不指定小组和班... 查看详情
需要学校评分系统的架构
】需要学校评分系统的架构【英文标题】:Needschemaforschoolgradingsystem【发布时间】:2013-02-2300:38:41【问题描述】:我是SQL新手,正在尝试创建一个可用于Hibernate的数据库架构,但我担心扩展问题、数据访问和查询数据的最佳方式... 查看详情
powershell管理系列(三十八)powershell操作之文件查找和操作
需求一、创建文件夹步骤1、我们在桌面创建文件夹test01,步骤如下:New-ItemC:\Users\Terry.zhou\Desktop\test01-typedirectory出现如下报错:步骤2、这个原因是因为我们在桌面已经有同名文件夹,我们可以运行以下命令,如果有同名文件夹... 查看详情
e-r图示例(学校管理系统)
Step1:希望建设一个学校管理系统–学校下设若干院系,开设若干课程–院系有院系名称,并有院系编号作为标识–课程有课程名称,同时有课程编号–关注学校教师的姓名、年龄、教师编号及身份证号,并关注哪... 查看详情
选课系统
需求:选课系统开发,要求有四种角色:学校、学员、课程、讲师详细要求:1、创建北京、上海2所学校2、创建linux,python,go3个课程,linuxpy在北京开,go在上海开3、课程包含,周期,价格,通过学校创建课程4、通过学校创建班级,... 查看详情
面向对象作业——校园管理系统
角色:学校、学员、课程、讲师要求:1.创建北京、上海2所学校2.创建linux,python,go3个课程,linuxpy在北京开,go在上海开3.课程包含,周期,价格,通过学校创建课程4.通过学校创建班级,班级关联课程、讲师5.创建学员时,选择学校... 查看详情
如何快速的进入学校的选课系统?
...商家帮忙代抢课。教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统。用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的... 查看详情
选课系统
要求角色:学校、学员、课程、讲师要求:1.创建北京、上海2所学校2.创建linux,python,go3个课程,linuxpy在北京开,go在上海开3.课程包含,周期,价格,通过学校创建课程4.通过学校创建班级,班级关联课程、讲师5.创建学员时,选择... 查看详情
基于php046学校固定资产管理系统
本系统采用PHP和Mysql数据库完成学校固定资产管理系统,实现资产购置计划、资产报账、固定资产管理、固定资产变动管理、固定资产盘点管理、查询分析等功能,界面良好,运行流畅,非常适合大学生作为课程设计,毕业设计以及二... 查看详情