需求:
1.可以创建学员或者老师
2.学校关联课程
3.课程关联老师
4.学生创建时要选择学校并选择班级
5.学生和老师的实例要储存起来,以后还能调用出来(要求不同学生分开名字储存)
import hashlib
import pickle
import time
import os
class Filename:#利用时间戳完成命名
def Name(self):
file_name = hashlib.md5()
file_name.update(str(time.time()).encode("utf8"))
return file_name.hexdigest()
class All_File:#文件的写操作
def save(self, file_name):
pickle.dump(self, open(file_name, "wb"))
class School:
def __init__(self, name):
self.name = name
self.cls = []
class Student(All_File, Filename):
def __init__(self, name, school, cls):
self.name = name
self.school = school
self.cls = cls
def change_dir(self):
os.chdir("学员")
class Course:
def __init__(self, name, addr, price, period):
self.name = name
self.addr = addr
self.price = price
self.school = period
class Teacher(All_File, Filename):
def __init__(self, name, school):
self.name = name
self.school = school
def change_dir(self):
os.chdir("教师")
class Cla:
def __init__(self, name, course):
self.name = name
self.course = course
self.teacher = []
S_Beijing = School("Beijing_School")
S_Shanghai = School("Shanghai_School")
C_Linux = Course("Linux", S_Beijing, 10000, "1 year")
C_Python1 = Course("Python", S_Beijing, 8000, "8 month")
C_Go1 = Course("Go", S_Shanghai, 7000, "1.2 year")
C_Python2 = Cla("Python班", C_Python1)
C_Linux = Cla("Linux班", C_Linux)
C_Go2 = Cla("Go班", C_Go1)
S_Beijing.cls.append(C_Python2)
S_Beijing.cls.append(C_Linux)
S_Shanghai.cls.append(C_Go2)
while True:
Choice = input("创建学员或者老师-->")
if Choice == "学员":
name = input("您的名字-->")
menu = {"1": "北京校区",
"2": "上海校区"}
print(menu)
school = menu[input("您的校区-->")]
if school == "北京校区":
cls_list = []
school = S_Beijing
for cls in S_Beijing.cls:
cls_list.append(cls.name)
L = range(0, len(cls_list))
for i in L:
print({str(i): cls_list[i]})
clas = S_Beijing.cls[int(input("您的班级-->"))]
if school == "上海校区":
school = S_Shanghai
for cls in S_Shanghai.cls:
print(cls.name)
clas = S_Shanghai.cls[int(input("您的班级-->"))]
student = Student(name, school, clas)
print("您的名字是%s 学校是%s 班级是%s" % (student.name, student.school.name, student.cls.name))
student.change_dir()
student.save(student.Name())
elif Choice == "教师":
name = input("您的名字-->")
menu = {"1": "北京校区",
"2": "上海校区"}
print(menu)
school = menu[input("您的校区-->")]
if school == "北京校区":
school = S_Beijing
elif school == "上海校区":
school = S_Shanghai
teacher = Teacher(name,school)
print("您的名字是%s 学校是%s " % (teacher.name, teacher.school.name))
teacher.change_dir()
teacher.save(teacher.Name())
else:
print("输入有误,重新输入")