无法将整数转换为字符串 [重复]

Posted

技术标签:

【中文标题】无法将整数转换为字符串 [重复]【英文标题】:Can't convert integer to string [duplicate] 【发布时间】:2014-04-18 16:23:20 【问题描述】:

我对我的 Python 程序遇到的这个问题有点困惑。这是一个非常简单的程序,但它不断出现问题。请允许我向您展示代码...

x=int(input('Enter number 1:'))
y=int(input('Enter number 2:'))
z=x+y
print('Adding your numbers together gives:'+z)

现在,这个程序,当我运行它时,它一直说“TypeError:无法将'int'对象隐式转换为str”。

我只想让它正常运行。 有人可以帮忙吗? 谢谢。

【问题讨论】:

查看您的input 行并找出明显的区别... @TomFenech 这不是一个好的复制品。标题相似,但问题却大不相同。 @JohnKugelman 我同意你的观点。 【参考方案1】:

问题很明显,因为您无法连接 strint。更好的方法:您可以用逗号分隔字符串和print 的其余参数:

>>> x, y = 51, 49
>>> z = x + y
>>> print('Adding your numbers together gives:', z)
Adding your numbers together gives: 100
>>> print('x is', x, 'and y is', y)
x is 51 and y is 49

print 函数会自动处理变量类型。以下也可以正常工作:

>>> print('Adding your numbers together gives:'+str(z))
Adding your numbers together gives:100
>>> print('Adding your numbers together gives: '.format(z))
Adding your numbers together gives: 100
>>> print('Adding your numbers together gives: %d' % z)
Adding your numbers together gives: 100

【讨论】:

【参考方案2】:

你应该把最后一行改写为:

print('Adding your numbers together gives:%s' % z)

因为您不能在 Python 中使用 + 符号来连接 stringint

【讨论】:

【参考方案3】:

你的错误信息告诉你到底发生了什么。

z 是一个int,您正试图将它与一个字符串连接起来。在连接它之前,您必须先将其转换为字符串。您可以使用str() 函数来做到这一点:

print('Adding your numbers together gives:' + str(z))

【讨论】:

以上是关于无法将整数转换为字符串 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将字符串转换为整数参数[重复]

将字符串列表转换为整数列表[重复]

将字符串数组转换为整数python [重复]

如何将整数转换为字符串[重复]

将字符串元素转换为整数C++ [重复]

将因子转换为整数[重复]