首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python: TypeError:无法连接'str‘和'int’对象

Python: TypeError:无法连接'str‘和'int’对象
EN

Stack Overflow用户
提问于 2012-08-07 18:35:25
回答 7查看 353.4K关注 0票数 153

我有一个python程序,它可以将字符串添加到整数中:

代码语言:javascript
运行
复制
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

我得到了这个错误:

代码语言:javascript
运行
复制
Python: TypeError: cannot concatenate 'str' and 'int' objects

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

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-08-07 18:38:04

有两种方法可以修复由最后一条print语句引起的问题。

您可以将@jamylak正确显示的str(c)调用的结果赋值给c,然后连接所有字符串,也可以简单地将最后一个print替换为:

代码语言:javascript
运行
复制
print "a + b as integers: ", c  # note the comma here

在这种情况下

代码语言:javascript
运行
复制
str(c)

不是必需的,可以删除。

示例运行的输出:

代码语言:javascript
运行
复制
Enter a: 3
Enter b: 7
a + b as strings:  37
a + b as integers:  10

通过以下方式:

代码语言:javascript
运行
复制
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
票数 185
EN

Stack Overflow用户

发布于 2012-08-07 18:37:35

如果您想将int或float连接到一个字符串,则必须使用以下命令:

代码语言:javascript
运行
复制
i = 123
a = "foobar"
s = a + str(i)
票数 23
EN

Stack Overflow用户

发布于 2013-10-25 17:38:28

代码语言:javascript
运行
复制
c = a + b 
str(c)

实际上,在这最后一行中,您并没有更改变量c的类型。

代码语言:javascript
运行
复制
c_str=str(c)
print "a + b as integers: " + c_str

应该能行得通。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11844072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档