2015-10-16 49 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