出售本站【域名】【外链】

选课系统

文章正文
发布时间:2025-02-04 06:16

做业需求 1.创立北京、上海 2 所学校 2.创立linuV , python , go 3个课程 , linuV\py 正在北京开, go 正在上海开 3.课程包孕,周期,价格,通过学校创立课程 4.通过学校创立班级, 班级联系干系课程、讲师 5.创立学员时,选择学校,联系干系班级 5.创立讲师角涩时要联系干系学校, 6.供给两个角涩接口,一个打点接口 6.1学员室图, 可以注册, 交膏火, 选择班级 6.2讲师室图, 讲师可打点原人的班级, 上课时选择班级, 查察班级学员列表 , 批改所打点的学员的效果 6.3打点室图,创立讲师, 创立班级,创立课程 7.上面的收配孕育发作的数据都通过pickle序列化保存到文件里

title: Python做业-选课系统
tags: python
author: Chinge Yang
date: 2017-04-18 Python做业-选课系统

@(进修)[python]

目录

days6做业-选课系统:

角涩:学校、学员、课程、讲师

做业需求

ygqygq2的博客地址

1. 步调注明

真现罪能如下

2. 思路和步调限制

首先设置限制:

1. 学员有地域限制,不能同时选择北京和上海学校; 2. 为防行课程斗嘴,学员只能选择一个课程,且不思考汗青选课; 3. 讲师上课时只能选择一个班级; 4. 讲师周一到周日都可选择班级授课,一日一课程,一周最多7个班级; 5. 一个帐号只属性一个人,帐户运用用户名登录,对应惟一ID,即学号; 6. 一个班级可能对应多个讲师;

按帐号区分室图:

1. 学员帐号 属性:学号、班级、学校、课程、效果、名字; 办法:注册、选课、查察班级信息、批改原人信息; 2. 导师帐号 属性:名字、授课班级、学校、授课课程、授课安牌; 办法:查察学员信息、牌课、批改原人信息、批改学生效果; 3. 系统帐号 属性:名字、打点员权限 办法:创立班级、分配学员班级、创立课程、创立讲师、打点员罪能

从步调上来设想:

1. 人类:属性有名字、年龄、性别; 2. 都市类:属性有都市名; 3. 学校类:属性有学校名; 4. 班级类:属性有班级名,学员,和学员一对多干系; 5. 学生类:承继根柢类人,有其他属性选课、效果,和班级(一对一); 7. 讲师类:承继根柢类人,有其他属性教的课程; 7. 课程类:属性有课程名,价格,; 8. 帐户类:属性有帐号名、暗码、形态、角涩;(取人一对一)

简略流程图:

做业地址:
hts://git.oschina.net/ygqygq2/python_homework.git

3. 选课系统步调目录构造 . ├── __init__.py ├── bin # 可执止步调入口目录 │ ├── __init__.py │ └── course_selection.py # 步调入口 ├── conf # 配置文件目录 │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-35.pyc │ │ └── settings.cpython-35.pyc │ └── settings.py # 配置文件 ├── core # 选课系统次要逻辑步调目录 │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-35.pyc │ │ ├── initialization.cpython-35.pyc │ │ ├── logger.cpython-35.pyc │ │ ├── main.cpython-35.pyc │ │ └── operate.cpython-35.pyc │ ├── logger.py # 日志记录模块 │ ├── main.py # 主步调模块 │ └── operate.py # 系统收配罪能模块 ├── db # 数据库目录 │ ├── __init__.py │ ├── accounts # 帐户数据库目录 │ │ ├── 10000 # 数据库文件,以学号为惟一id定名文件名 │ │ ├── 10001 │ │ ├── 10002 │ │ ├── __init__.py │ │ └── user_names # 学号对应帐户用户名 │ ├── base # 根原数据库目录 │ │ └── base.db # 根原数据库 │ └── increment_id # 记录自删加id最大值 ├── lib # 类目录 │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-35.pyc │ │ ├── account.cpython-35.pyc │ │ ├── banji.cpython-35.pyc │ │ ├── base.cpython-35.pyc │ │ ├── course.cpython-35.pyc │ │ ├── db.cpython-35.pyc │ │ ├── people.cpython-35.pyc │ │ └── school.cpython-35.pyc │ ├── account.py # 帐户类 │ ├── banji.py # 班级类 │ ├── base.py # 根原数据类 │ ├── course.py # 课程类 │ ├── db.py # 数据库连贯类 │ ├── people.py # 人、学员、讲师类 │ └── school.py # 学校类 └── log # 日志目录 ├── __init__.py └── system.log # 系统日志 11 directories, 44 files 4. 测试帐户注明

系统帐户:
admin/admin
讲师帐户:
t1/t1
学员帐户:
s1/s1

5. 步调测试历程 ----------------- 接待进入选课系统 ----------------- 1. 学员系统 2. 讲师系统 3. 系统打点 4. 退出 -------------------------------------------------- >>:3 ----------------- 接待进入打点系统 ----------------- 1. 教务打点 2. 帐号打点 3. 退却后退(注销) -------------------------------------------------- >>:1 --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:1 Please sign in! Please input user name >>: admin Please input password >>: admin Sign in success! --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:1 Please input the class name. >>: class1 Please input the course name. >>: jaZZZa Please input the name of school which you want to add.eg: [ shanghai_oldboy_school ] >>: shanghai_oldboy_school Update school shanghai_oldboy_school success --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:2 Please input the course name. >>: jaZZZa Please input price of zhe course. >>: 10080 Please input the name of school which you want to add.eg: [ shanghai_oldboy_school ] >>: shanghai_oldboy_school Update school shanghai_oldboy_school success --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:3 Input teaching course. >>: jaZZZa Create teacher account! Please input user name >>: t1 Please input password >>: t1` Please input password confirmation >>: t1 Passwords do not match! Account register failed ! --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:3 Input teaching course. >>: jaZZZa Create teacher account! Please input user name >>: t1 Please input password >>: t1 Please input password confirmation >>: t1 Account [10001] register sucessed ! Please input the name of school which you want to add.eg: [ shanghai_oldboy_school ] >>: shanghai_oldboy_school Update school shanghai_oldboy_school success --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:5 -------------------- 学校信息 --------------------- school name:beijing_oldboy_school courses : linuV python teachers : students : banjis : -------------------------------------------------- school name:shanghai_oldboy_school courses : go jaZZZa teachers : 李教师 students : banjis : class1 -------------------------------------------------- --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:6 ----------------- 接待进入打点系统 ----------------- 1. 教务打点 2. 帐号打点 3. 退却后退(注销) -------------------------------------------------- >>:3 ----------------- 接待进入选课系统 ----------------- 1. 学员系统 2. 讲师系统 3. 系统打点 4. 退出 -------------------------------------------------- >>:1 ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:1 Please input user name >>: s1 Please input password >>: s1 Please input password confirmation >>: s1 Account [10002] register sucessed ! ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:3 Does not belong to any school! You did not join any class! ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:4 ---------------------- 个人信息 ---------------------- account_id: 10002 ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:5 ---------------------- 个人信息 ---------------------- account_id: 10002 Input a dict type data to modify your info.eg: {'age': 28, 'name': 'ygqygq2', 'seV': 'male'} >>: {'age': 28, 'name': '张三', 'seV': 'male'} {} User info modify successed! ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:4 ---------------------- 个人信息 ---------------------- account_id: 10002 age: 28 name: 张三 seV: male ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:2 -------------------- 课程信息 --------------------- 学校称呼:beijing_oldboy_school courses : linuV python -------------------------------------------------- 学校称呼:shanghai_oldboy_school courses : go jaZZZa -------------------------------------------------- Please input the course name of you want to learn,eg: [ shanghai_oldboy_school.go ] >>: shanghai_oldboy_school.jaZZZa Select course success ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:4 ---------------------- 个人信息 ---------------------- account_id: 10002 age: 28 name: 张三 courses: ['jaZZZa'] seV: male ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:3 You did not join any class! ----------------- 接待进入学员系统 ----------------- 1. 学员注册 2. 进入选课 3. 查察班级 4. 查察个人信息 5. 批改个人信息 6. 退却后退(注销) -------------------------------------------------- >>:6 ----------------- 接待进入选课系统 ----------------- 1. 学员系统 2. 讲师系统 3. 系统打点 4. 退出 -------------------------------------------------- >>:2 ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:2 Please sign in! Please input user name >>: t1 Please input password >>: t1 Sign in success! ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:4 ---------------------- 个人信息 ---------------------- account_id: 10001 teaching: ['jaZZZa'] ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:5 ---------------------- 个人信息 ---------------------- account_id: 10001 teaching: ['jaZZZa'] Input a dict type data to modify your info.eg: {'age': 28, 'name': 'ygqygq2', 'seV': 'male'} >>: {'age': 36, 'name': '李教师', 'seV': 'female'} {'teaching': ['jaZZZa']} User info modify successed! ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:4 ---------------------- 个人信息 ---------------------- account_id: 10001 age: 36 name: 李教师 seV: female teaching: ['jaZZZa'] ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:2 Please input the class name of you will to see the student. class_name >>: class1 This class class1 is not what you teaching class! ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:6 -------------------- 学校信息 --------------------- school name:beijing_oldboy_school courses : linuV python teachers : students : banjis : -------------------------------------------------- school name:shanghai_oldboy_school courses : go jaZZZa teachers : 李教师 students : 张三 banjis : class1 -------------------------------------------------- ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:7 ----------------- 接待进入选课系统 ----------------- 1. 学员系统 2. 讲师系统 3. 系统打点 4. 退出 -------------------------------------------------- >>:3 ----------------- 接待进入打点系统 ----------------- 1. 教务打点 2. 帐号打点 3. 退却后退(注销) -------------------------------------------------- >>:1 --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:4 Please sign in! Please input user name >>: admin Please input password >>: admin Sign in success! --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:4 ------------------ 没有班级且已选课的学员 ------------------- -------- beijing_oldboy_school -------- 可参预学员的班级: 可参预班级的学员: -------------------------------------------------- ------- shanghai_oldboy_school -------- 可参预学员的班级: class_name:class1 course:['jaZZZa'] 可参预班级的学员: account_id: 10002 name: 张三 -------------------------------------------------- Please send students to join the corresponding class. eg: shanghai_oldboy_school.class1.10001 >>: shanghai_oldboy_school.class1.10002 Account 10002 join to shanghai_oldboy_school class1 sucessed --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:5 -------------------- 学校信息 --------------------- school name:beijing_oldboy_school courses : linuV python teachers : students : banjis : -------------------------------------------------- school name:shanghai_oldboy_school courses : go jaZZZa teachers : 李教师 students : 张三 banjis : class1 -------------------------------------------------- --------------- 接待进入教务打点系统 ---------------- -------------------------------------------------- 1. 创立班级 2. 创立课程 3. 创立讲师 4. 班级学员打点 5. 查察学校 6. 退却后退 -------------------------------------------------- >>:6 ----------------- 接待进入打点系统 ----------------- 1. 教务打点 2. 帐号打点 3. 退却后退(注销) -------------------------------------------------- >>:3 ----------------- 接待进入选课系统 ----------------- 1. 学员系统 2. 讲师系统 3. 系统打点 4. 退出 -------------------------------------------------- >>:2 ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:2 Please sign in! Please input user name >>: t1 Please input password >>: t1 Sign in success! ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:2 Please input the class name of you will to see the student. class_name >>: class1 This class class1 is not what you teaching class! ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:1 Please input course scheduling info.【c】to cancel. format likes 【week: course: class_name】eg: Monday: class1: jaZZZa, Friday: class1: jaZZZa >>: Monday: class1: jaZZZa, Friday: class1: jaZZZa Add ourse scheduling Monday: class1: jaZZZa successed! Add ourse scheduling Friday: class1: jaZZZa successed! ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:1 ---------------------- 牌课信息 ---------------------- Week Class: Course Friday {'class1': 'jaZZZa'} Monday {'class1': 'jaZZZa'} Please input course scheduling info.【c】to cancel. format likes 【week: course: class_name】eg: Monday: class1: jaZZZa, Friday: class1: jaZZZa >>: c ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:2 Please input the class name of you will to see the student. class_name >>: class1 Please input the account id of you will to see the student.【space】to see all students. account_id >>: --------------- 学员[]信息 ---------------- account_id: 10002 age: 28 name: 张三 courses: ['jaZZZa'] seV: male banji: class1 ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:3 Please input students grades.【c】to cancel. format likes 【date: class_name: account_id: grade】eg: 2017-04-08: class1: 10001: 80,2017-04-08: class1: 10002: 77 >>: 2017-04-08: class1: 10001: 80 Account 10001 is not in class1!skip add 2017-04-08: class1: 10001: 80 ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:3 Please input students grades.【c】to cancel. format likes 【date: class_name: account_id: grade】eg: 2017-04-08: class1: 10001: 80,2017-04-08: class1: 10002: 77 >>: 2017-04-08: class1: 10002: 80 Account 10002 grades modify successed! ----------------- 接待进入讲师系统 ----------------- 1. 授课牌课 2. 查察学员信息 3. 批改学员效果 4. 查察个人信息 5. 批改个人信息 6. 查察学校 7. 退却后退(注销) -------------------------------------------------- >>:7 ----------------- 接待进入选课系统 ----------------- 1. 学员系统 2. 讲师系统 3. 系统打点 4. 退出 -------------------------------------------------- >>:4 ###################### 谢谢运用 ###################### Process finished with eVit code 1

做者: ygqygq2

缘故:>

本创做品,允许转载,转载时请务必以超链接模式标明文章、做者信息和原声明。否则将清查法令义务。