2015-10-16 57 views
0

我想连接一个字符串与一个数字有更好的输出。不幸的是,这不起作用。连接字符串与编号

print "The result is "+x 
+1

可能重复的[Python:TypeError:无法连接'str'和'int'对象](http://stackoverflow.com/questions/11844072/ python-typeerror-can not-concatenate-str-and-int-objects) – KPrince36

+0

@ KPrince36谢谢。因此,而不是“+”我应该使用“,”。但为什么圣人在打印的字符串中添加了一个空格? –

回答

1

你有几种选择:

  • print "The result is " + str(x)
  • print "The result is", x
  • print "The result is %d"%(x)
  • print "The result is {}".format(x)

你的榜样与运营商+不按预期工作,因为它需要两个字符串参数。你的第二个参数是int类型的。你必须将它转换为str(x)函数的字符串。最后两个例子是字符串格式化的“旧”和“新”方式,见PyFormat.info

在上面的评论中您的问题旁边:为什么print "The result is ", x增加了另一个空间?这就是打印关键字的工作原理。如果给出了一个表达式列表。它在给定列表的每个项目之间添加一个空格。第一项(字符串)有一个尾随空格。打印添加另一个空间,然后打印出你的int的第二个项目。只是试试这个(没有在字符串尾部空格): print "The result is", x