为什么会出现TypeError:“ str”对象无法解释为整数?

时间:2019-08-29 00:50:49

标签: python-3.x

我正在执行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] ...我不知道为什么

1 个答案:

答案 0 :(得分:1)

num=input()从用户读取值,类型为字符串。您必须先将其转换为整数,然后再与range

一起使用

所以应该是:

num = int(input())