第一次写的很low: https://www.cnblogs.com/xuanxuanlove/p/9664251.html
2.0版本 项目结构更加规范:
接下来就是各个文件的内容:
start.py:
import os import sys sys.path.append(os.path.dirname(os.getcwd())) from core import main if __name__=="__main__": main.main()
config.py:
user_info=r'E:pyhtonworkspacepy3-praticePycharm_workspacepython_fullstackweek6homeworkdbuserinfo' class_info=r'E:pyhtonworkspacepy3-praticePycharm_workspacepython_fullstackweek6homeworkdbclass_info' course_info=r'E:pyhtonworkspacepy3-praticePycharm_workspacepython_fullstackweek6homeworkdbcourse_info' students_info=r'E:pyhtonworkspacepy3-praticePycharm_workspacepython_fullstackweek6homeworkdbstudents_info' teacher_info=r'E:pyhtonworkspacepy3-praticePycharm_workspacepython_fullstackweek6homeworkdb eacher_info'
Admin.py:
#_+_coding:utf-8_*_ #author: xuanxuan #Time : 2018/9/19 16:47 from conf import config from core import Teacher from core import Student import pickle class Admin(): menu=['创建讲师','创建班级','创建课程','创建学生'] def __init__(self,name): self.name=name def creat_Teacher(self,name,school,course): Teacher.Teacher(name,school,course) f=open(config.teacher_info,'wb') pickle.dump([name,school,course],f) f.close() def creat_Classes(self,name,course,teacher): Student.Classes(name,course,teacher) f = open(config.class_info, 'wb') pickle.dump([name,course,teacher],f) f.close() def creat_Course(self,name,period,price,place): Student.Course(name,period,price,place) f = open(config.course_info, 'wb') pickle.dump([name,period,price,place],f) f.close() def creat_Student(self,name,school,classes): Student.Student(name,school,classesA) f = open(config.students_info, 'wb') pickle.dump([name,school,classes],f) f.close()
main.py:
#_+_coding:utf-8_*_ #author: xuanxuan #Time : 2018/9/19 15:32 from conf import config from core import Admin from core import Student from core import Teacher import pickle def login(iden,username,password): students_info_file=open(config.user_info,'r',encoding='utf-8') for line in students_info_file: line=line.split() if username==line[0] and password==line[1]: print("欢迎您,%s"%username) if iden=='student': f = open(config.students_info, 'rb') while 1: students_info = pickle.load(f) if username==students_info[0]: return Student.Student(students_info[0],students_info[1],students_info[2]) elif iden=='teacher': f = open(config.teacher_info, 'rb') while 1: teacher_info = pickle.load(f) if username==teacher_info[0]: return Teacher.Teacher(teacher_info[0],teacher_info[1],teacher_info[2]) elif iden=='admin': return Admin.Admin('admin') def main(): iden=input("请输入身份:") username = input("username:") password = input("password:") if iden=='admin': admin=login(iden,username,password) print(admin.name) for index,key in enumerate(admin.menu): print(index,key) index=input('请选择:>>>') if index=='0': course=Student.Course('python','2 mon',10000,'beijing') admin.creat_Teacher('alex','beijing',course) elif index=='1': course = Student.Course('python', '2 mon', 10000, 'beijing') alex=Teacher.Teacher('alex','beijing',course) admin.creat_Classes('1班', 'python', alex) elif index=='2': admin.creat_Course('python', '2 mon', 10000,'beijing') elif index=='3': classes=Student.Classes('1班','python','alex') admin.creat_Student('xuanxuan', 'beijing', classes) elif iden=='student': student=login(iden,username,password) for index,item in enumerate(student.menu): print(index,item) msg=input("请选择:") if msg=='0': student.view_course() elif msg=='1': student.view_classes() elif iden=='teacher': teacher=login(iden,username,password) for index,item in enumerate(teacher.menu): print(index,item) msg = input("请选择:") if msg == '0': teacher.view_classes() elif msg == '1': teacher.view_course()
Students.py:
#_+_coding:utf-8_*_ #author: xuanxuan #Time : 2018/9/19 16:12 class Classes(): def __init__(self,name,course,teacher): self.name=name self.course=[course] self.teacher=[teacher] class Course(): def __init__(self,name,period,price,place): self.name=name self.price=price self.period=period self.place=place class Student(): menu=['查看课程','查看所在班级'] def __init__(self,name,school,classes): self.name=name self.school=school self.classes=classes def view_course(self): print("您的课程是:",self.classes.course) def view_classes(self): print("您所在的班级是:",self.classes.name)
Teacher.py:
#_+_coding:utf-8_*_ #author: xuanxuan #Time : 2018/9/19 16:29 class Teacher(): menu=['查看班级','查看课程'] def __init__(self,name,school,course): self.name=name self.school=school self.course=[course] def view_classes(self): print("由于班级是绑定老师的,所以这里不知道老师类怎么绑定班级") def view_course(self): list(map(lambda course:print("您所带的课程为:",course.name),self.course))
老师视角登录:
学生视角登录:
管理员视角登录:
其实还有两点没有完善 就是:
1. 由于班级是跟老师绑定的,老师怎么查看自己带的班级?
2. 没有实现管理员实时创建学生老师等角色的功能,只是在Admin类中实现了ceart_Student()等方法而已~