Форум сайта python.su
Всем привет!
Есть задание: на полках лежат документы, пользователь по команде хх может удалить полку, если она пустая.
def remove_shelf(number): if number in [directories]: if len(directories[number]) > 0: return 'На полке есть документы, удалите их перед удалением полки. Текущий перечень полок: ' + ', '.join(directories.keys()) del directories[number] print('Полка удалена. Текущий перечень полок: ' + ', '.join(directories.keys())) print ('Такой полки не существует. Текущий перечень полок:' + ', '.join(directories.keys())) remove_shelf(directories)
if len(directories[number]) > 0:
Отредактировано BabrieQ (Ноя. 16, 2021 09:46:54)
Офлайн
>>> d = {'a': 1, 'b': 2} >>> d[{}] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'dict' >>>
Отредактировано py.user.next (Ноя. 16, 2021 17:22:57)
Офлайн
Логическая ошибка вот здесь (попробуйте понять какая именно):
if number in [directories]:
remove_shelf(directories)
Офлайн