为什么会出现 TypeError: 'str' object不能被解释为整数?

2024-01-06

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


num=input()从用户读取值,并且是字符串类型。在使用它之前,您必须将其转换为整数range

所以,应该是:

num = int(input())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么会出现 TypeError: 'str' object不能被解释为整数? 的相关文章

随机推荐