p – people – команда, которая спросит номер документа и выведет имя человека, которому он принадлежит;
l – list – команда, которая выведет список всех документов в формате passport «2207 876234» «Василий Гупкин»;
s – shelf – команда, которая спросит номер документа и выведет номер полки, на которой он находится;
a – add – команда, которая добавит новый документ в каталог и в перечень полок, спросив его номер, тип, имя владельца и номер полки, на котором он будет храниться.
documents = [ {"type": "passport", "number": "2207 876234", "name": "Василий Гупкин"}, {"type": "invoice", "number": "11-2", "name": "Геннадий Покемонов"}, {"type": "insurance", "number": "10006", "name": "Аристарх Павлов"} ] directories = { '1': ['2207 876234', '11-2'], '2': ['10006'], '3': [] } def people(numbers): for doc_numbers in documents: if doc_numbers["number"] == numbers: print(doc_numbers["name"]) break else: print('Такого номера документа нет в базе.') def people_list(): for persons in documents: print(persons['type'], '"'+persons['number']+'"', '"'+persons['name']+'"') def shelf(numbers): break_marker = False for shelf_directories in directories.items(): for doc_numbers in shelf_directories[1]: if doc_numbers == numbers: print('Данный документ должен лежать на полке', shelf_directories[0]) break_marker = True break if break_marker == True: break else: print('Такого номера документа нет в базе.') def add_command(params_type, number, name, directories_number): if int(directories_number) == 1 or int(directories_number) == 2 or int(directories_number) == 3: documents.append({"type": params_type, "number": number, "name": name}) directories[directories_number].append(number) else: print('Введенной полки не существует. Запись не осуществлена.') while True: command = input('\n \ Введите одну из команд: p, l, s, a, d, m, as. \n \ Для выхода наберите exit. \n \ Для вызов справки наберите help. \n \ Ваша команда: ') if command == 'p': people(input('\nВведите номер документа:')) elif command == 'l': people_list() elif command == 's': shelf(input('\nВведите номер документа:')) elif command == 'a': add_command(input('\nВведите тип документа:'), input('Введите номер документа:'), input('Введите имя:'), input('Введите номер полки (1, 2, 3):')) elif command == 'exit': break elif command == 'help': print('\n \ p – people – команда, которая спросит номер документа и выведет имя человека, которому он принадлежит;\n \ l – list – команда, которая выведет список всех документов в формате passport "2207 876234" "Василий Гупкин";\n \ s – shelf – команда, которая спросит номер документа и выведет номер полки, на которой он находится;\n \ a – add – команда, которая добавит новый документ в каталог и в перечень полок, спросив его номер, тип, имя владельца и номер полки, на котором он будет храниться.') else: print('Вы ввели некорректную команду, повторите ввод.')