选课系统(面向对象编程练习)--代码解析
这个简单的任务分析大概了解一下,清楚我们要实现的功能就ok
'''
需求分析(课程与班级合为一体)
-管理员视图
1、注册
2、登录
3、创建学校
4、创建课程(选择学校)
5、创建讲师
-学员视图
1、登录
2、注册
3、选择校区
4、选择课程(线选择校区)
课程也选择学生,双向绑定
5、查看分数
-讲师视图
1、登录
2、查看教授课程
3、选择教授课程
4、查看课程学生
5、修改学生分数
程序的架构设计
-三层架构
-用户视图层
-用户交互
-做一些小的逻辑判断
-core
-src
逻辑接口层
-核心业务逻辑
-db
-dbhandler
student_interface
tercher_interface
anmin_interface
数据处理层
-数据的处理,增、删、改、查
pickle--序列化--保存对象
测试
上线
'''
以上内容搞定我们就可以去设计我们的目录结构了
conf--配置文件
core--视图层
db--数据处理
interface--接口层
lib--common--存放程序的公共方法
start.py--程序启动入口
接下来写视图层的代码、可以理解为给用户看的软件菜单
视图层(src)--管理员视图(admin)、学生视图(student)、老师视图(teacher)、
'''src.py '''
1 from core import admin
2 from core import student
3 from core import teacher
4
5 '''创建功能字典'''
6 func_dict={
7 '1':admin.admin_view,
8 '2':student.student_view,
9 '3':teacher.teacher_view,
10 }
11
12 def run():
13 while True:
14 print('欢迎来到选课系统'.center(32, '*'))
15 print('''
16 1、管理员功能
17 2、学生功能
18 3、老师功能
19 ''')
20 choice = input('请输入功能编号:退出请按【q】').strip()
21 if choice == 'q' or choice == 'Q':
22 break
23 if choice not in func_dict:
24 print('输入错误,请重新输入:')
25 else:
26 func_dict[choice]()
管理员视图
'''admin.py'''
1 #功能字典
2 func_dict={
3 '1': register,
4 '2': login,
5 '3': create_school,
6 '4': create_course,
7 '5': create_teacher,
8 }
9
10 #管理员视图内容
11 def admin_view():
12 while True:
13 print('欢迎来到管理员页面'.center(32, '*'))
14 print('''
15 1、注册
16 2、登录
17 3、创建学校
18 4、创建课程(选择学校)
19 5、创建讲师
20 ''')
21 choice = input('请输入功能编号:').strip()
22 if choice == 'q' or choice == 'Q':
23 break
24 if choice not in func_dict:
25 print('输入错误,请重新输入:')
26 else:
27 func_dict[choice]()
学生视图
'''student.py'''
1 func_dict={
2 '1': register,
3 '2': login,
4 '3': choice_school,
5 '4': choice_course,
6 }
7
8 def student_view():
9 while True:
10 print('欢迎来到学生页面'.center(32,'*'))
11 print('''
12 1、登录
13 2、注册
14 3、选择校区
15 4、选择课程(线选择校区)
16 ''')
17 choice = input('请输入功能编号:').strip()
18 if choice == 'q' or choice == 'Q':
19 break
20 if choice not in func_dict:
21 print('输入错误,请重新输入:')
22 else:
23 func_dict[choice]()
老师视图
'''student.py'''
1 func_dict={
2 '1': login,
3 '2': check_course,
4 '3': choose_course,
5 '4': check_student,
6 '5': change_score
7 }
8
9 def teacher_view():
10 while True:
11 print('欢迎来到老师页面'.center(32, '*'))
12 print('''
13 1、登录
14 2、查看教授课程
15 3、选择教授课程
16 4、查看课程学生
17 5、修改学生分数
18 ''')
19 choice = input('请输入功能编号:').strip()
20 if choice == 'q' or choice == 'Q':
21 break
22 if choice not in func_dict:
23 print('输入错误,请重新输入:')
24 else:
25 func_dict[choice]()
程序启动
'''start.py'''
1 '''启动程序入口'''
2
3 import os, sys
4 sys.path.append(os.path.dirname(__file__))
5
6 from core import src
7
8
9 if __name__ == '__main__':
10 src.run()
这样程序结构基本做完了,接下来就是一步一步去实现功能了
下面的程序,是整个选课系统的完整代码:学习面向对象编程建议新手都要敲至少两次,总结其中的每一个知识点,这样才能把别别人的技术转化为自己的技术储备
本文来自博客园,作者:{落叶给树的留言},转载请注明原文链接:https://www.cnblogs.com/luoyegeishudeliuyan/p/15370729.html