无法连接“str”和“int”对象。Python

2024-06-17 12:05:56 发布

您现在位置:Python中文网/ 问答频道 /正文

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”对象。Python

请帮助:)


Tags: youinputrawifhaveitemselectbarcode
3条回答

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

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块中以捕获无效输入。在

问题很明显:

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

既然我一点也不知道你想达到什么目标,我就不知道该怎么解决你的问题。在

您必须像上面的quantitybolt那样将quantity1(字符串)转换为整数。

quantity1 = int(quantity1) + quantitybolt

相关问题 更多 >