功能:
    1. 创建学校
    2. 创建课程
    3. 课程包含,周期,价格,通过学校创建课程
    4. 通过学校创建班级, 班级关联课程、讲师
    5. 创建学员时,选择学校,关联班级
    6. 创建讲师角色时要关联学校,
    7. 提供两个角色接口
   7.1 学员视图, 可以注册, 交学费, 选择班级,
   7.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表,修改所管理的学员的成绩
   7.3 管理视图,创建讲师, 创建班级,创建课程
    8. 上面的操作产生的数据都通过pickle序列化保存到文件里

环境:
  python 3.5

知识点:
类的继承
os模块的应用
pickle模块的应用
类方法的运用
md5加密方法

小结:
此系统大致实现了一个学校所需管理系统所需功能,所有信息都封装成对象保存起来,并用uuid区别,以确保信息的独立性,充分运用了类的知识,逻辑简单

目录结构:
选课系统
bin #存放start.py文件运行文件
conf #存放settings.py文件,进行程序路径分配
db #存放角色信息
lib #存放commons.py文件,对信息进行md5加密处理
src #存放主要类文件和处理文件
      services
        admin_service.py
        teacher_service.py
        student_service.py
      identifier.py
      models.py

 1 #!/usr/bin/env python
 2 # _*_ coding:utf-8 _*_
 3 # __author__ = "lx"
 4 
 5 import os
 6 import sys
 7 
 8 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 9 sys.path.append(BASE_DIR)
10 
11 from src.services import admin_service
12 from src.services import teacher_service
13 from src.services import student_service
14 from src.services import initialize_service
15 
16 
17 
18 def show_role():
19     msg = '''
20     
21 \033[1;31m___ 选课系统 ___\033[0m
22     
23     0:初始化
24     1:管理员
25     2:老师
26     3:学生
27     4:退出'''
28     print(msg)
29 
30 
31 if __name__ == '__main__':
32     role_main = {
33         '0':initialize_service.main,
34         '1':admin_service.login,
35         '2':teacher_service.main,
36         '3':student_service.main,
37         '4':exit
38     }
39     while True:
40         show_role()
41         choice = input('请输入角色:').strip()
42         if choice not in role_main:continue
43         role_main[choice]()
start #运行文件

相关文章: