TypeError:无法连接“str”和“int”对象

新手上路,请多包涵

我有这个将字符串添加到整数的 python 程序:

 a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: " + a + b
a = int(a)
b = int(b)
c = a + b
str(c)
print "a + b as integers: " + c

我收到此错误:

 TypeError: cannot concatenate 'str' and 'int' objects

如何将字符串添加到整数?

原文由 plahstic 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 591
2 个回答

有两种方法可以解决由最后一个 print 语句引起的问题。

您可以将 str(c) 调用的结果分配给 c 如@jamylak 正确显示的那样,然后连接所有字符串,或者您可以替换最后一个 print 简单地说:

 print "a + b as integers: ", c  # note the comma here

在这种情况下

str(c)

不是必需的,可以删除。

样品运行的输出:

 Enter a: 3
Enter b: 7
a + b as strings:  37
a + b as integers:  10

和:

 a = raw_input("Enter a: ")
b = raw_input("Enter b: ")
print "a + b as strings: " + a + b  # + everywhere is ok since all are strings
a = int(a)
b = int(b)
c = a + b
print "a + b as integers: ", c

原文由 Levon 发布,翻译遵循 CC BY-SA 3.0 许可协议

str(c) 返回 c 字符串表示,并且不改变 c 本身。

 c = str(c)

可能是你要找的

原文由 jamylak 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题