无法连接';str';和';int';物体。python

无法连接';str';和';int';物体。python,python,string,int,Python,String,Int,TypeError:无法连接'str'和'int'对象。蟒蛇 请帮助:)您必须将quantity1(一个字符串)转换为整数,就像您在上一行中对quantitybolt所做的那样 if int(gtin) == barcode[1]: print "You have ordered", item[1] **quantity1 = raw_input("Please select a quantity of 100mm bolts") quantitybolt = int(q

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


请帮助:)

您必须将quantity1(一个字符串)转换为整数,就像您在上一行中对quantitybolt所做的那样

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**

由于您似乎没有在任何地方使用
quantitybolt
,因此可以使用
int()
将从
raw\u input()返回的值直接转换为整数,如下所示:

quantity1 = int(quantity1) + quantitybolt

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

问题很明显:

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

现在,因为我一点也不知道您要实现什么目标,所以我不知道如何解决您的问题。

我想您需要将
int(quantity1)
添加到另一个变量中。变量
quantity1
是由
raw\u input
返回的字符串,将其整数添加到自身是没有意义的。它可以在没有
quantitybolt
的情况下表达……你是什么意思@布鲁诺德修利尔,就像你刚才做的那样?但这仍然会导致一个类型错误:p这里没有“我在上面所做的方式”-我回答中的代码片段只是OP注释的代码,用来解释他为什么会出现这个错误。因为我一点也不知道OP到底想做什么,所以在答案中添加任何东西都没有用。wrt/你是什么意思:
quantity1=sum(map(int,(quantity1,quantity1))
可以是一个选项,也可以是
quantity1=int(quantity1)+int(quantity1)
我听说你是@brunodesthuillers,我只是因为我的代码受到批评而感到伤心,但我明白,从好的角度看待批评总是有用的。谢谢你的意见
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