python学习笔记 day23 作业--校园管理系统 2.0

第一次写的很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()等方法而已~

talk is cheap,show me the code
原文地址:https://www.cnblogs.com/xuanxuanlove/p/9677582.html