2019年7月31日 选课系统

 import pickle


import pickle
class Base:
    def save(self,address):
        with open(address,'wb')as f:#wb 写入字符串
            pickle.dump(self,f)#注意这里用self 代表实例化后的自身

class School(Base):
    def __init__(self):
        self.name=input('请输入新学校%s名字:'%i)
        self.addr=input('请输入学校%s地址:'%i)

class Lesson(Base):
    def __init__(self,name,school):
        self.name=name
        self.school=school


class Teacher(Base):
    def __init__(self,name,school,lesson):
        self.name=name
        self.school=school
        self.lesson=lesson

msg='1.创建学校\n' \
    '2.创建课程\n' \
    '3.创建老师\n' \
    '4.exit\n'
s_info=[]
l_info=[]
i,j,k=0,0,0
while True:
    print(msg)
    choice=input('请输入需要创建的内容:')
    if choice=='1':
        i=i+1
        s_info.append(School())
        s_info[i-1].save('school%s.db'%i) #保存在文档内
        school_obj=pickle.load(open('school%s.db'%i,'rb'))
        print(i,school_obj.addr)

    elif choice=='2':
        j=j+1
        lesson_name=input('请输入课程%s名称:'%j)
        if lesson_name=='python' or lesson_name=='linux':
            l1=Lesson(lesson_name,pickle.load(open('school1.db','rb')))
            l1.save('lesson%s.db'%j)
            print(j,l1.school.addr)
        elif lesson_name=='go':
            l2=Lesson(lesson_name,pickle.load(open('school2.db','rb')))
            l2.save('lesson%s.db'%j)
            print(j,l2.school.addr)
        else:
            print('只能创建python,linux,go三门课程')
            j=j-1 #如果输入错误j会自动+1,所以需要对j做修正

    elif choice=='3':
        k=k+1
        if k>2:
            print('只要2位老师')
            exit()
        else:
            teacher_name = input('请输入老师%s姓名:' % k)
            t = Teacher(teacher_name, pickle.load(open('school%s.db'%k,'rb')), pickle.load(open('lesson%s.db' % k, 'rb')))
            t.save('teacher%s.db'%k)
            print(k,pickle.load(open('teacher%s.db'%k,'rb')).__dict__)
    elif choice=='4':
        print('game over')
        exit()
    else:
        print('请输入1,2,3,4\n')

 

 

》》》》》 

1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:1
请输入新学校1名字:newboy
请输入学校1地址:shanghai
1 shanghai
1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:1
请输入新学校2名字:oldboy
请输入学校2地址:beijing
2 beijing
1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:2
请输入课程1名称:python
1 shanghai
1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:linux
请输入1,2,3,4

1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:2
请输入课程2名称:linux
2 shanghai
1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:2
请输入课程3名称:go
3 beijing
1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:2
请输入课程4名称:ada
只能创建python,linux,go三门课程
1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:3
请输入老师1姓名:sxj
1 {'name': 'sxj', 'school': <__main__.School object at 0x0388B6B0>, 'lesson': <__main__.Lesson object at 0x0388B730>}
1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:3
请输入老师2姓名:zyk
2 {'name': 'zyk', 'school': <__main__.School object at 0x0388B5D0>, 'lesson': <__main__.Lesson object at 0x0388B650>}
1.创建学校
2.创建课程
3.创建老师
4.exit

请输入需要创建的内容:3
只要2位老师

 

posted @ 2019-08-01 22:36  小圣庄  阅读(155)  评论(0编辑  收藏  举报