无法连接'str'和'int'对象。蟒蛇

时间:2016-04-07 12:35:34

标签: python string int

if int(gtin) == barcode[1]:
    print "You have ordered", item[1]
    **quantity1 = raw_input("Please select a quantity of 100mm bolts")
    quantitybolt = int(quantity1)
    quantity1 += quantitybolt**

TypeError:无法连接'str'和'int'对象。蟒

请帮忙:)

3 个答案:

答案 0 :(得分:0)

由于您似乎无法在任何地方使用quantitybolt,因此您可以使用raw_input()int()返回的值直接转换为整数,如下所示:

if int(gtin) == barcode[1]:
    print "You have ordered", item[1]
    quantity1 = int(raw_input("Please select a quantity of 100mm bolts"))

现在quantity1将被设置为表示用户输入的整数,我猜,你想要的是什么。您可能希望将其包装在try/except块中以捕获无效输入。

答案 1 :(得分:0)

问题很明显:

quantity1 = raw_input("Please select a quantity of 100mm bolts")
# here quantity1 is a string 
quantitybolt = int(quantity1)
# here quantitybolt is an integer - at least if no exception popped
# and now you try to add `quantity1` (which is a string) 
# to `quantitybolt` (which is an integer) - hence your error...
quantity1 += quantitybolt

既然我对你想要达到的目标一无所知,我就无法告诉你如何解决问题。

答案 2 :(得分:-1)

你必须将quantity1(一个字符串)转换为一个整数,就像你在上面一行中的quantitybolt一样。

quantity1 = int(quantity1) + quantitybolt