Пользователь по команде "ads" может добавить новую полку

Дано:

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 ads():
    shelf = input("Введите номер полки: ")
    for direct in directories.items():
        if shelf in direct[0]:
            print(f"Такая полка уже существует. Текущий перечень полок: {direct[0]}")
            break
    else:
        directories[shelf] = []
        print(f"Полка добавлена. Текущий перечень полок: {list(directories.keys())}")
     
ads()

Выводит:

Введите номер полки: 2
Такая полка уже существует. Текущий перечень полок: 2

Как сделать, чтоб при вводе уже имеющийся полки, выводился весь список имеющихся полок, а не только введенная


Ответы (1 шт):

Автор решения: hedgehogues

В Вашем коде уже есть ответ на этот вопрос:

def ads():
    shelf = input("Введите номер полки: ")
    for direct in directories.items():
        if shelf in direct[0]:
            print(f"Такая полка уже существует. Текущий перечень полок: {list(directories.keys())}")
            break
    else:
        directories[shelf] = []
        print(f"Полка добавлена. Текущий перечень полок: {list(directories.keys())}")
     
ads()
→ Ссылка