Вы работаете секретарем и вам постоянно приходят различные документы. Вы должны быть очень внимательны, чтобы не потерять ни один документ. Каталог документов хранится в следующем виде:
In [4]:
documents = [
{'type': 'passport', 'number': '2207 876234', 'name': 'Василий Гупкин'},
{'type': 'invoice', 'number': '11-2', 'name': 'Геннадий Покемонов'},
{'type': 'insurance', 'number': '10006', 'name': 'Аристарх Павлов'}
]
Перечень полок, на которых находятся документы хранится в следующем виде:
In [5]:
directories = {
'1': ['2207 876234', '11-2'],
'2': ['10006'],
'3': []
}
Необходимо реализовать пользовательские команды (внимание! это не название функций, которые должны быть выразительными, а команды, которые вводит пользователь, чтобы получить необходимый результат):
In [4]:
documents = [
{'type': 'passport', 'number': '2207 876234', 'name': 'Василий Гупкин'},
{'type': 'invoice', 'number': '11-2', 'name': 'Геннадий Покемонов'},
{'type': 'insurance', 'number': '10006', 'name': 'Аристарх Павлов'}
]
Перечень полок, на которых находятся документы хранится в следующем виде:
In [5]:
directories = {
'1': ['2207 876234', '11-2'],
'2': ['10006'],
'3': []
}
Необходимо реализовать пользовательские команды (внимание! это не название функций, которые должны быть выразительными, а команды, которые вводит пользователь, чтобы получить необходимый результат):
- p – people – команда, которая спросит номер документа и выведет имя человека, которому он принадлежит;
- s – shelf – команда, которая спросит номер документа и выведет номер полки, на которой он находится
Правильно обработайте ситуации, когда пользователь будет вводить несуществующий документ. - l – list – команда, которая выведет список всех документов в формате
passport "2207 876234" "Василий Гупкин" - as – add shelf – команда, которая спросит номер новой полки и добавит ее в перечень. Предусмотрите случай, когда пользователь добавляет полку, которая уже существует.
- d – delete – команда, которая спросит номер документа и удалит его из каталога и из перечня полок. Предусмотрите сценарий, когда пользователь вводит несуществующий документ;
- m – move – команда, которая спросит номер документа и целевую полку и переместит его с текущей полки на целевую. Корректно обработайте кейсы, когда пользователь пытается переместить несуществующий документ или переместить документ на несуществующую полку;
- a – add – команда, которая добавит новый документ в каталог и в перечень полок, спросив его номер, тип, имя владельца и номер полки, на котором он будет храниться. Корректно обработайте ситуацию, когда пользователь будет пытаться добавить документ на несуществующую полку.