我正在执行OrderedDict。我正在尝试使用input()。rsplit方法将值分配给字典。发生一个错误,称为:“ TypeError:'str'对象不能解释为整数”。我在哪里弄错了?
from collections import OrderedDict
num=input()
itemlist=OrderedDict()
for i in range(num):
itemName,itemPrice=input().rsplit(' ',1)
if itemName in itemlist:
itemlist[itemName] += int(itemPrice)
else:
itemlist[itemName] = int(itemPrice)
for name, price in itemlist.items():
print str(name), str(price)
我希望将用户输入的内容存储在“ BANANA FRIES 12”之类的字典中
以下是OrderedDict的示例
ordered_dictionary = OrderedDict()
>>> ordered_dictionary['a'] = 1
>>> ordered_dictionary['b'] = 2
>>> ordered_dictionary['c'] = 3
>>> ordered_dictionary['d'] = 4
>>> ordered_dictionary['e'] = 5
>>>
>>> print ordered_dictionary
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)])
此错误似乎告诉我无法将itemPrice分配给itemlist [itemName] ...我不知道为什么
答案 0 :(得分:1)
num=input()
从用户读取值,类型为字符串。您必须先将其转换为整数,然后再与range
所以应该是:
num = int(input())