def create_student(id, name, age, school_name, course_name, teacher_name, grade_name, other, password, score, sex): """ 创建学生 :param id: :param name: :param age: :param school_name: :param course_name: :param teacher_name: :param grade_name: :param other: :param password: :param score: :param sex: :return: """ student_dicts = operate_data.r_student() student = modes.Student(id, name, age, school_name, course_name, teacher_name, grade_name, other, password, score, sex) student_dict = {"id": student.id, "name": student.name, "age": student.age, "sex": student.sex, "school_name": student.school_name, "role": "student", "course_name": student.course_name, "teacher_name": student.teacher_name, "grade_name": student.grade_name, "score": student.score, "other": student.other, "password": student.password} student_dicts[name] = student_dict operate_data.w_student(student_dicts) return True
def read_file_content(): person_dicts = operate_data.r_teacher() student_dicts = operate_data.r_student() person_dicts.update(student_dicts) manager_dicts = operate_data.r_manager() person_dicts.update(manager_dicts) return person_dicts
def func10(): student_dicts = operate_data.r_student() print('---------------------执行结果---------------------') if len(student_dicts): for student in student_dicts.values(): str = "学生编号:{} 学生姓名:{} 学生年龄:{} 学生性别:{} 学生成绩:{} 学生级别:{} 学校名称:{} 课程名称:{} 班级名称:{} 老师名称:{} 学生备注:{}" \ .format(student['id'], student['name'], student['age'], student['sex'], student['score'], student['role'], student['school_name'], student['course_name'], student['grade_name'], student['teacher_name'], student['other']) print(str) print('--------------------------------------------------')
def func4(ret): student_dicts = operate_data.r_student() student_list = [student for student in student_dicts.values() if student['school_name'] == ret['school_name'] and student['teacher_name'] == ret['name']] if len(student_list): while True: for student in student_list: str = "学生编号:{} 学生姓名:{} 学校名称:{} 课程名称:{} 学生成绩:{} 学生备注:{}" \ .format(student['id'], student['name'], student['school_name'], student['course_name'], student['score'], student['other']) print(str) student_name = input("请输入学生的姓名(退出Q):").strip() if student_name.upper() == 'Q': break if student_name in student_dicts.keys(): student = student_dicts[student_name] str = "学生编号:{} 学生姓名:{} 学校名称:{} 课程名称:{} 学生成绩:{} 学生备注:{}" \ .format(student['id'], student['name'], student['school_name'], student['course_name'], student['score'],student['other']) score = input("请输入学生成绩(不修改:N):").strip() print("修改前:", str) if score.upper() == 'N': continue elif score.isdigit(): student_dicts[student_name]['score'] = score str = "学生编号:{} 学生姓名:{} 学校名称:{} 课程名称:{} 学生成绩:{} 学生备注:{}" \ .format(student['id'], student['name'], student['school_name'], student['course_name'], student['score'],student['other']) print("修改后:", str) management.update_student(student_dicts) print('---------------------执行结果---------------------') print('\033[1;31;0m %s 学生修改成功!\033[0m' % student_name) print('--------------------------------------------------') else: print('\033[1;31;0m请输入正确的学生姓名!\033[0m') else: print('---------------------执行结果---------------------') print('\033[1;31;0m当前还未给您分配学生,请联系管理员!\033[0m') print('--------------------------------------------------') return True
def func3(ret): student_dicts = operate_data.r_student() student_list = [student for student in student_dicts.values() if student['school_name'] == ret['school_name'] and student['teacher_name'] == ret['name']] print('---------------------执行结果---------------------') if len(student_list): for student in student_list: str = "学生编号:{} 学生姓名:{} 学生年龄:{} 学生性别:{} 学生级别:{} 学校名称:{} 课程名称:{} 学生成绩:{} 学生备注:{}" \ .format(student['id'], student['name'], student['age'], student['sex'], student['role'], student['school_name'], student['course_name'], student['score'], student['other']) print(str) else: print('\033[1;31;0m还未给您分配学生,请联系管理员!\033[0m') print('--------------------------------------------------')
def func5(): grade_dicts = operate_data.r_grade() school_dicts = operate_data.r_school() course_dicts = operate_data.r_course() teacher_dicts = operate_data.r_teacher() if len(school_dicts) <= 0: print("\033[1;31;0m还未创建学校,请先创建学校,谢谢!\033[0m") return if len(course_dicts) <= 0: print("\033[1;31;0m还未创建课程,请先创建课程,谢谢!\033[0m") return if len(teacher_dicts) <= 0: print("\033[1;31;0m还未创建老师,请先创建老师,谢谢!\033[0m") return while True: flag = False student_dicts = operate_data.r_student() if len(student_dicts): id = tools.auto_increment(student_dicts.values()) else: id = '1' name = input("请输入学生姓名(退出:Q):").strip() if tools.quit(name): break if student_dicts.get(name, None): name = name + time.strftime("%Y%m%d%H%M%S") print("该学生已经存在,学生姓名更新为:%s" % (name)) age = input("请输入学生年龄(退出:Q):").strip() if tools.quit(age): break sex = input("请输入学生性别(退出:Q):").strip() if tools.quit(sex): break for school in school_dicts.values(): print("学校编号:{} 学校名称:{} 学校地址:{}".format(school['id'], school['name'], school['address'])) while True: school_name = input("请输入学校名称(退出:Q):").strip() if tools.quit(school_name): flag = True break if tools.check_info(school_name, school_dicts.keys(), 'name'): print('\033[1;31;0m请输入正确的学校名称!\033[0m') else: break if flag: break flag = False course_list = [ k for k, course in course_dicts.items() if course['school_name'] == school_name ] if len(course_list): for course in course_list: print("课程名称:{}".format(course)) else: print('\033[1;31;0m该学校没有创建相应的课程,请先创建课程!\033[0m') while True: course_name = input("请输入课程名称(退出:Q):").strip() if tools.quit(course_name): flag = True break if tools.check_info(course_name, course_list, 'name'): print('\033[1;31;0m请输入正确的课程名称!\033[0m') else: break if flag: break flag = False grade_list = [ k for k, grade in grade_dicts.items() if grade['school_name'] == school_name and grade['course_name'] == course_name ] if len(grade_list): for grade in grade_list: print("班级名称:{}".format(grade)) else: print('\033[1;31;0m该课程没有创建相应的班级,请先创建班级!\033[0m') break while True: grade_name = input("请输入班级名称(退出:Q):").strip() if tools.quit(grade_name): flag = True break if tools.check_info(grade_name, grade_list, 'name'): print('\033[1;31;0m请输入正确的班级名称!\033[0m') else: break if flag: break flag = False teacher_list = [ k for k, teacher in teacher_dicts.items() if teacher['school_name'] == school_name and teacher['course_name'] == course_name ] if len(teacher_list): for teacher in teacher_list: print("老师名称:{}".format(teacher)) else: print('\033[1;31;0m该课程没有创建相应的老师,请先创建老师!\033[0m') break while True: teacher_name = input("请输入老师姓名:").strip() if tools.quit(teacher_name): flag = True break if tools.check_info(teacher_name, teacher_list, 'name'): print('\033[1;31;0m请输入正确的老师姓名!\033[0m') else: break if flag: break score = input("请输入学生成绩(默认为0,退出:Q):").strip() if tools.quit(score): break other = input("请输入学生备注(退出:Q):").strip() if tools.quit(other): break password = input("请输入学生密码(退出:Q):") if tools.quit(password): break password = tools.md5(name, password) print('---------------------执行结果---------------------') management.create_student(id, name, age, school_name, course_name, teacher_name, grade_name, other, password, score, sex) print("%s 学生创建成功!" % name) print('--------------------------------------------------') flag = input('是否继续创建学生?(Y/N):').strip() if flag.upper() == 'Y': continue else: break return True