Example #1
0
def edit_student():
    global students_data

    def student_delete():
        return

    menu = [
        {'text': 'Удалить ученика',
         'func': student_delete
         },
        {'text': 'Перевести в другой класс'}
    ]
    while True:
        clear()
        print("*" * 24)
        print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
        print("*" * 24)
        for num, student in enumerate(students_data):
            print("%s) %s || %s" % (num + 1, get_full_name(student), student['class']))
        student_num = int(input('Укажите номер ученика(или НОЛЬ, для создания нового): '))
        if 0 < student_num <= len(students_data):
            student = students_data[student_num - 1]
            print("Вы выбрали %s " % get_full_name(student) + '||' + student['class'])
            loop
        else:
            print('Такого номера нет, введите другой номер')
    return
Example #2
0
def edit_create_student():
    for num, student in enumerate(students_data):
        print("%s) %s || %s" %
              (num + 1, get_full_name(student), student['class']))
    student_num = (input(
        'Укажите номер ученика(или НОЛЬ, для создания нового)\nНажмите Enter для возврата в предыдущее'
        ' меню\n:'))
    if not student_num:
        return
    student_num = int(student_num) - 1
    if student_num != -1:
        print("Вы выбрали %s " % get_full_name(students_data[student_num]))
        print('ID: %s\nКласс: %s\nДата рождения: %s' %
              (students_data[student_num]['id'],
               students_data[student_num]['class'],
               students_data[student_num]['birth_day']))
        # TODO: Указать выбранного ученика и отобразить по нему полную информацию
        # FIXME: не забыть обработать ввод номера несуществующего ученика
        print('1. Удалить ученика')
        print('2. Перевести в другой класс')
        print('3. Назад')
        choice_2 = input(
            'Или нажмите Enter для возврата в предыдущее меню.\n:')
        if choice_2 == '1':
            delete_human(students_data[student_num]['id'])
        if choice_2 == '2':
            global students_data
            class_room = 'da'
            while not (class_room in school_data['classes']):
                class_room = input(
                    'Введите корректный класс или нажмите Enter для возврата в пердыдущее меню\n:'
                )
                if not class_room:
                    return
            students_data[student_num]['class'] = class_room
        # TODO(complete): реализовать удаление и перевод ученика
        # TODO*(complete): реализовать создание нового ученика с вводом всех необходимых параметров
        # TODO(complete): не забыть, нельзя задать ученику несуществующий класс
    else:
        global students_data
        std_name = input('Введите ФИО ученика\n:')
        std_name = std_name.split()
        class_room = 'da'
        while not (class_room in school_data['classes']):
            class_room = input(
                'Введите корректный класс или нажмите Enter для возврата в пердыдущее меню\n:'
            )
            if not class_room:
                return
        birth_day = input('Введите дату рождения в формате ДД.ММ.ГГГГ\n:')
        std_id = students_data[-1]['id'] + 1
        students_data.append({
            'name': std_name[1],
            'surname': std_name[0],
            'middle_name': std_name[2],
            'class': class_room,
            'birth_day': birth_day,
            'id': std_id,
            'school': '67 школа'
        })
Example #3
0
def about_students():
    for class_room in school_data["classes"]:
        print("Ученики '%s' класса: " % class_room)
        for number, student in enumerate(search(students_data, class_room=class_room), start=1):
            # FIXME(Complete): учесть(во всей программе), в файле могут быть ученики из других школ
            print("     %s)%s" % (number, get_full_name(student)))
            # TODO(complete): Добавить нумерацию учеников для каждого класса
    print('Ожидают принятия в школу:')
    for number, student in enumerate(search(students_data, class_room='X'), start=1):
        print("     %s)%s" % (number, get_full_name(student)))
    print("-" * 24)
    input("Нажмите Enter для возврата в предыдущее меню\n:")
Example #4
0
def about_classes():
    print("Все классы нашей школы")
    print("||", " || ".join(school_data['classes']), "||")
    print()
    class_room = input("Введите класс, для подробной информации по нему \n"
                           " или Enter для возврата в предыдущее меню:")
    if class_room in school_data["classes"]:
        print("\nИнформация по %s классу:" % class_room)
        print("     Учителя: ", [get_full_name(el) for el in search(teachers_data)])
        print("     Ученики: ", [get_full_name(el) for el in search(students_data)])
        input("Нажмите Enter для возврата в предыдущее меню")
    elif (class_room != '') and not (class_room in teachers_data['classes']):
        print('Введенного класса не существует')
        about_classes()
Example #5
0
def about_students():
    for class_room in school_data["classes"]:
        print("Ученики '%s' класса: " % class_room)
        for number, student in enumerate(search(students_data,
                                                class_room=class_room),
                                         start=1):
            # FIXME(Complete): учесть(во всей программе), в файле могут быть ученики из других школ
            print("     %s)%s" % (number, get_full_name(student)))
            # TODO(complete): Добавить нумерацию учеников для каждого класса
    print('Ожидают принятия в школу:')
    for number, student in enumerate(search(students_data, class_room='X'),
                                     start=1):
        print("     %s)%s" % (number, get_full_name(student)))
    print("-" * 24)
    input("Нажмите Enter для возврата в предыдущее меню\n:")
Example #6
0
def about_teachers():
    for class_room in school_data["classes"]:
        print("Учителя, преподающие в '%s' классе: " % class_room)
        for number, teacher in enumerate(search(teachers_data, class_room=class_room)):
            print("     %s)%s" % (number+1, get_full_name(teacher)))
        print("-" * 24)
    input("Нажмите Enter для возврата в предыдущее меню\n:")
Example #7
0
def about_students():
    for class_room in school_data["classes"]:
        print("Ученики '%s' класса: " % class_room)
        for student in search(students_data, class_room=class_room):
            if student['school'] == "67 школа": #FIXME: в файле school.json тип школы на английском
                print("     ", enumerate(get_full_name(student), start=1))  # TODO: Добавить нумерацию учеников для каждого класса
        print("-" * 24)
    input("Нажмите Enter для возврата в предыдущее меню")
Example #8
0
def about_teachers():
    for class_room in school_data["classes"]:
        print("Учителя, преподающие в '%s' классе: " % class_room)
        for number, teacher in enumerate(
                search(teachers_data, class_room=class_room)):
            print("     %s)%s" % (number + 1, get_full_name(teacher)))
        print("-" * 24)
    input("Нажмите Enter для возврата в предыдущее меню\n:")
Example #9
0
def about_students():
    for class_room in school_data["classes"]:
        print("Ученики '%s' класса: " % class_room)
        for num, student in enumerate(search(students_data, class_room=class_room), start=1):
            # FIXME: учесть(во всей программе), в файле могут быть ученики из других школ
            print("     ", str(num) + ')', get_full_name(student))  # TODO: Добавить нумерацию учеников для каждого класса
        print("-" * 24)
    input("Нажмите Enter для возврата в предыдущее меню")
Example #10
0
def edit_create_student():
    for num, student in enumerate(students_data):
        print("%s) %s || %s" % (num+1, get_full_name(student), student['class']))
    student_num = (input('Укажите номер ученика(или НОЛЬ, для создания нового)\nНажмите Enter для возврата в предыдущее'
                         ' меню\n:'))
    if not student_num:
        return
    student_num = int(student_num)-1
    if student_num != -1:
        print("Вы выбрали %s " % get_full_name(students_data[student_num]))
        print('ID: %s\nКласс: %s\nДата рождения: %s' % (students_data[student_num]['id'],
                                                        students_data[student_num]['class'],
                                                        students_data[student_num]['birth_day']))
        # TODO: Указать выбранного ученика и отобразить по нему полную информацию
        # FIXME: не забыть обработать ввод номера несуществующего ученика
        print('1. Удалить ученика')
        print('2. Перевести в другой класс')
        print('3. Назад')
        choice_2 = input('Или нажмите Enter для возврата в предыдущее меню.\n:')
        if choice_2 == '1':
            delete_human(students_data[student_num]['id'])
        if choice_2 == '2':
            global students_data
            class_room = 'da'
            while not (class_room in school_data['classes']):
                class_room = input('Введите корректный класс или нажмите Enter для возврата в пердыдущее меню\n:')
                if not class_room:
                    return
            students_data[student_num]['class'] = class_room
        # TODO(complete): реализовать удаление и перевод ученика
        # TODO*(complete): реализовать создание нового ученика с вводом всех необходимых параметров
        # TODO(complete): не забыть, нельзя задать ученику несуществующий класс
    else:
        global students_data
        std_name = input('Введите ФИО ученика\n:')
        std_name = std_name.split()
        class_room = 'da'
        while not (class_room in school_data['classes']):
            class_room = input('Введите корректный класс или нажмите Enter для возврата в пердыдущее меню\n:')
            if not class_room:
                return
        birth_day = input('Введите дату рождения в формате ДД.ММ.ГГГГ\n:')
        std_id = students_data[-1]['id']+1
        students_data.append({'name': std_name[1], 'surname': std_name[0], 'middle_name': std_name[2],
                              'class': class_room, 'birth_day': birth_day, 'id': std_id, 'school': '67 школа'})
Example #11
0
def teachers():
    global teachers_data
    global school_data
    clear()
    print("*" * 24)
    print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
    print("*" * 24)
    print("     MENU > Информация > Об учителях")
    # TODO(complete): дописать вывод по аналогии с учениками
    for class_room in school_data["classes"]:
        print("Учителя '%s' класса: " % class_room)
        for num, teacher in enumerate(search(teachers_data, class_room=class_room)):
            print("     ", '%s)' % (num + 1), get_full_name(teacher))
            print("-" * 24)
    input("Нажмите Enter для возврата в предыдущее меню")
    return
Example #12
0
def students():
    global students_data
    global school_data
    clear()
    print("*" * 24)
    print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
    print("*" * 24)
    print("     MENU > Информация > Об учениках")
    for class_room in school_data["classes"]:
        print("Ученики '%s' класса: " % class_room)
        for num, student in enumerate(search(students_data, class_room=class_room)):
            # FIXME(complete): учесть(во всей программе), в файле могут быть ученики из других школ
            # TODO(complete): Добавить нумерацию учеников для каждого класса
            print("     ", '%s)' % (num + 1), get_full_name(student))
            print("-" * 24)
    input("Нажмите Enter для возврата в предыдущее меню")
    return
Example #13
0
    print("4. Назад")
    choice = input(':')
    if choice == '1':
        clear()
        print("*" * 24)
        print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
        print("*" * 24)
        print("     MENU > Информация > О классах")
        print("Все классы нашей школы")
        print("||", " || ".join(school_data['classes']), "||")
        print()
        class_room = input("Введите класс, для подробной информации по нему \n"
                           " (или Enter для возврата в предыдущее меню):")
        if class_room in school_data["classes"]:
            print("\nИнформация по %s классу:" % class_room)
            print("     Учителя: ", [get_full_name(el) for el in search(teachers_data)])
            print("     Ученики: ", [get_full_name(el) for el in search(students_data)])
            input("Нажмите Enter для возврата в предыдущее меню")
            print('1. Выйти')
            choice = input(': ')
            if choice == 1:
                print('Goodbye')
            # TODO*: Сделать возврат в предыдущее меню(во всех местах программы).
            # TODO:Выход из программы только по пункту "выйти"(+)
        else:
            print('Выбран несуществующий класс')


    elif choice == '2':
        clear()
        print("*" * 24)
Example #14
0
 print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
 print("*" * 24)
 print("     MENU > Редактировать")
 print("1. Класс")
 print("2. Ученика")
 print("3. Учителя")
 choice = input(": ")
 while True:
     if choice == '2':
         clear()
         print("*" * 24)
         print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
         print("*" * 24)
         print("     MENU > Редактировать > Ученика")
         for num, student in enumerate(students_data):
             print("%s) %s || %s" % (num, get_full_name(student), student['class']))
         student_num = input('Укажите номер ученика(или НОЛЬ, для создания нового): ')
         print()
         print("Вы выбрали %s " % 'unknown')  # TODO: Указать выбранного ученика и отобразить
         # по нему полную информацию
         # FIXME: не забыть обработать ввод номера несуществующего ученика
         print('1. Удалить ученика')
         print('2. Перевести в другой класс')
         print('3. Назад')
         # TODO: реализовать удаление и перевод ученика
         # TODO*: реализовать создание нового ученика с вводом всех необходимых параметров
         # TODO: не забыть, нельзя задать ученику несуществующий класс
     elif choice == '3':
         clear()
         print("*" * 24)
         print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
Example #15
0
        clear()
        print("*" * 24)
        print("* Welcome to %s %s *" % (school_data["number"], school_data["type"]))
        print("*" * 24)
        print("     MENU > Информация > О классах")
        print("Все классы нашей школы")
        print("||", " || ".join(school_data["classes"]), "||")
        print()
        class_room = input(
            "Введите класс, для подробной информации по нему \n" " (или Enter для возврата в предыдущее меню):"
        )
        if class_room in school_data["classes"]:  # FIXME: (complete)
            print("\nИнформация по %s классу:" % class_room)
            # TODO(complete)
            # вывести всех учеников и учителей указанного класса
            students_in_class = [get_full_name(student) for student in students_data if student["class"] == class_room]
            print("     Ученики: %s " % students_in_class)
            teachers_in_class = [get_full_name(teacher) for teacher in teachers_data if class_room in teacher["class"]]
            print("     Учителя: %s " % teachers_in_class)
            input("Нажмите Enter для возврата в предыдущее меню")
        # сообщить, если выбран несуществующий класс
        else:
            print("Такого класса нет")
            input("Нажмите Enter для возврата в предыдущее меню")

            # TODO*: Сделать возврат в предыдущее меню(во всех местах программы).
            # TODO:Выход из программы только по пункту "выйти"

    elif choice == "2":
        clear()
        print("*" * 24)
Example #16
0
# print(surname)

# 2.1
# class_teacher="Александр Черный"
# for teacher in data_teacher:
#     teacher_name_surname=class_teacher.split(' ')
#     if teacher["name"] == teacher_name_surname[0] and teacher["surname"] == teacher_name_surname[1]:
#         print("OK")
#     else:
#         print("No")
#     if
_teacher = "Владимир Вышкин"  # format: 'name surname'
teacher = get_teacher(_teacher, data_teacher)

if teacher:
    teachers_students = [get_full_name(student) for student in data_student
                         if student["school"] == teacher["school"] and student["class"] in teacher["class"]]
    print("2.1.", _teacher, ": ", teachers_students)
else:
    print('2.1. Учитель %s не существует' % _teacher)

# print(teacher_name_surname)

# if class_teacher in teachers_names_surnames:
# print(teachers_names)
# full_name= ["%s %s" % (student["name"], student["surname"])
#                  for student in data_student if student["class"]=="5 А "]
# full_name=[]
# 2.2
_student = "Александр Петрович"  # format: 'name surname'
student = get_student(_student, data_student)
Example #17
0
            input("Нажмите Enter для возврата в предыдущее меню")
            # TODO*: Сделать возврат в предыдущее меню(во всех местах программы).
            # TODO:Выход из программы только по пункту "выйти"
        else:
            print('Некорректные данные!!!')
    elif choice == '2':
        clear()
        print("*" * 24)
        print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
        print("*" * 24)
        print("     MENU > Информация > Об учениках")
        for class_room in school_data["classes"]:
            print("Ученики '%s' класса: " % class_room)
            for student in search(students_data, class_room=class_room):
                # FIXME: учесть(во всей программе), в файле могут быть ученики из других школ
                print("     ", get_full_name(student))  # TODO: Добавить нумерацию учеников для каждого класса
            print("-" * 24)
        input("Нажмите Enter для возврата в предыдущее меню")
    elif choice == '3':
        clear()
        print("*" * 24)
        print("* Welcome to %s %s *" % (school_data['number'], school_data['type']))
        print("*" * 24)
        print("     MENU > Информация > Об учителях")
        print(' ... ')
        # TODO: дописать вывод по аналогии с учениками
        input("Нажмите Enter для возврата в предыдущее меню")


elif choice == '2':
    clear()