关于python:无法将整数转换为字符串

Can't convert integer to string

本问题已经有最佳答案,请猛点这里访问。

我对我的python程序中的这个问题有点困惑。这是一个非常简单的程序,但它总是出现问题。让我给你看一下密码…

1
2
3
4
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"。

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


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

z是一个int,您试图用一个字符串连接它。在连接之前,必须先将其转换为字符串。您可以使用str()函数执行此操作:

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

最后一行应改写为:

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

因为不能在python中使用+符号连接stringint


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

1
2
3
4
5
6
>>> 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功能将自动处理变量类型。以下内容也可以正常工作:

1
2
3
4
5
6
>>> 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