无法将整数转换为字符串 [重复]
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】:
问题很明显,因为您无法连接 str
和 int
。更好的方法:您可以用逗号分隔字符串和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 中使用 +
符号来连接 string
和 int
。
【讨论】:
【参考方案3】:你的错误信息告诉你到底发生了什么。
z
是一个int
,您正试图将它与一个字符串连接起来。在连接它之前,您必须先将其转换为字符串。您可以使用str()
函数来做到这一点:
print('Adding your numbers together gives:' + str(z))
【讨论】:
以上是关于无法将整数转换为字符串 [重复]的主要内容,如果未能解决你的问题,请参考以下文章