Вывести значение ключа из выбранного элемента в словаре - PullRequest
0 голосов
/ 05 октября 2018

Я хотел бы найти оружие1 из словаря, а затем распечатать его пары «ключ» и «значение», чтобы я мог ссылаться на них отдельно.Это работает для всех элементов в словаре, но когда я хочу только один, я не могу заставить его работать.

inventoryitems = {"weapon1": 45, "weapon2": 5}

selecteditem = inventoryitems["weapon1"]
print(selecteditem)

for k, v in selecteditem():
    print(k, v)

Я получаю этот код ошибки:

TypeError: 'int' object is not callable

Я так понимаю, что он вызывает значение для Weapon1 (который является 'INT'), но я хочу вызвать оба ключаи значение из найденного элемента в словаре.Буду признателен за любую помощь в этом!

Ответы [ 3 ]

0 голосов
/ 05 октября 2018

Поскольку у вас уже есть ключ weapon1, вам действительно нужно только значение, которое уже сохранено в selectedItem, поскольку вы присвоили ему inventoryitems["weapon1"].Здесь нет необходимости в дальнейших вызовах или повторениях.

0 голосов
/ 05 октября 2018
inventoryitems = {"weapon1": 45, "weapon2": 5}

selecteditem = inventoryitems["weapon1"]
# by doing this you have assigned the value of key( = weapon1) to the variable selecteditem
# since this value was int now your selecteditem is int

print(selecteditem) # will print 45

# but now you are try to call selecteditem which is an int, and you can't call an int so python will give you an error

'''
for k, v in selecteditem():
    print(k, v)

'''


# instead do this 

selecteditem, selecteditem_value = 'weapon1', inventoryitems["weapon1"]

print('you selected {0} and its power is {1}'.format(selecteditem, selecteditem_value)) #you selected weapon1 and its power is 45


редактировать:

inventoryitems = {"weapon1": 45, "weapon2": 5}

def user_selection( item_selected):
    print('you selected {0} and its power is {1}'.format(item_selected, inventoryitems[item_selected])) #you selected weapon1 and its power is 45


user_selection( 'weapon1') # you selected weapon1 and its power is 45
0 голосов
/ 05 октября 2018

ваше selecteditem - это значение 45, затем вы пытаетесь перебрать selecteditem, но это только целое число, следовательно ошибка:

for k, v in inventoryitems.items():
    print(k, v)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...