Как мне удалить входные данные из словаря?

#python #python-3.x

#python #python-3.x

Вопрос:

Мой код:

 print("Please enter your favourite foods")
a = input("Food 1: ")
b = input("Food 2: ")
c = input("Food 3: ")
d = input("Food 4: ")

food = {1:a, 2:b, 3:c, 4:d}
print(food)

Q = input("Which food would you like to remove?: ")

food.pop(Q)
sorted(food)

print(food)
  

Я хочу, чтобы пользователь удалил один элемент из словаря, но каждый раз, когда они вводят то, что хотят удалить, я продолжаю получать сообщение об ошибке:

KeyError: «независимо от того, что ввел пользователь»

(P.S Мне не разрешено вносить его в список)

Ответ №1:

Вы должны преобразовать пользовательский ввод в an int , потому что ключи словаря — это int s . Вот пример реализации:

 print("Please enter your favourite foods")
a = input("Food 1: ")
b = input("Food 2: ")
c = input("Food 3: ")
d = input("Food 4: ")

food = {1:a, 2:b, 3:c, 4:d}
print(food)

Q = int(input("Which food would you like to remove?: "))

food.pop(Q)
sorted(food)

print(food)