ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

选课系统(面向对象编程练习)--代码解析

2021-10-06 11:00:36  阅读:148  来源: 互联网

标签:func 选课 -- 视图 choice dict 面向对象编程 print


这个简单的任务分析大概了解一下,清楚我们要实现的功能就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()

 

这样程序结构基本做完了,接下来就是一步一步去实现功能了

下面的程序,是整个选课系统的完整代码:学习面向对象编程建议新手都要敲至少两次,总结其中的每一个知识点,这样才能把别别人的技术转化为自己的技术储备

 

标签:func,选课,--,视图,choice,dict,面向对象编程,print
来源: https://www.cnblogs.com/luoyegeishudeliuyan/p/15370729.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有