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
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 школа' })
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:")
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()
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:")
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 для возврата в предыдущее меню")
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:")
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 для возврата в предыдущее меню")
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 школа'})
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
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
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)
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']))
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)
# 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)
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()