Столкнулся с трудностью понимания проверки, перепробывал всё, что понимаю, но видимо, распутаться без помощи не получится.
Задача:
Есть список слов с соответствующими им номерами, например:
[ [1, 'Лопата'], [2, 'Ведро'], [3, 'Помидор'] ]
Пользователь отвечает, к какой категории он отнесет каждое из слов в списке.
Изначально категорий этих нет, он придумывает названия сам.
Чтобы он не вводил каждый раз категорию, которая уже есть в списке, на экран выводится этот список с ключами и ему остается ввести ключ, например:
“Введите новую категорию или выберите из списка и введите цифру: (1:Инструменты, 2:Овощи)”
Количество категорий в списке может быть не более, чем количество изначальных слов (Лопата, Ведро, …)
На выхоте желательно получить следующий список:
[[1, 'Лопата', 'Инструменты'], [2, 'Ведро', 'Инструменты'], [3, 'Помидор', 'Овощи']]
for i in <Изначальный список>:
userAnswer = input('bla bla')
пользователь начинает отвечать то цифрами, не существующими в словаре, то словами, то опять цифрами
помогите найти ошибку
myList = [[1, 'Lopata'], [2, 'Vedro'], [3, 'Pomidor'], [4, 'Molotok']] categoryDict = {0:''} for i in myList: userInput = input('Enter new category (or number): ') try: val = int(userInput) if val in categoryDict.keys(): i.append(categoryDict[val]) else: print(' wrong number! ') userInput = input('Enter valid number: ') while userInput not in categoryDict.keys(): userInput = input('Enter valid number: ') try: val = int(userInput) except ValueError: categoryDict.update({list(categoryDict.keys())[-1] + 1:userInput}) i.append(userInput) break i.append(categoryDict[int(userInput)]) except ValueError: categoryDict.update({list(categoryDict.keys())[-1] + 1:userInput}) if userInput not in i: i.append(userInput) print(categoryDict) print(myList)