Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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('--------------------------------------------------')
Exemple #6
0
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