zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    🍖JS函数
    🍖JS流程控制
    🍖JS运算符介绍
    🍖JS数值类型与字符串类型的内置方法
    多态
    property装饰器
    封装
    组合
    继承&派生 属性查找
    继承与派生
  • 原文地址:https://www.cnblogs.com/xuanxuanlove/p/9677582.html
Copyright © 2011-2022 走看看