2 回答

TA貢獻1853條經驗 獲得超9個贊
最后,你可以使用
return ''.join(map(str, response))
發生的事情是當你說response = globalSeconds, " seconds equals "
你正在創建一個tuple。當您使用 print 函數時,您不會傳入由某種基于逗號的連接操作創建的單個字符串。您傳入多個參數,并且打印函數會適當地處理它們。
如果您想一直連接字符串,該+
運算符允許字符串連接。.join()
然而,使用而不是大量連接通常更有效。
作為參考,此答案使用內置str.join()
方法,記錄在此處。它還使用此處記錄的map()
內置函數。他們正在做的事情基本上如下:
在你的程序結束時,
response
是一個不同值的元組。并非所有這些值都是字符串(請注意,您從未將任何整數轉換為其他類型)。
內置
.join()
方法需要一個可迭代的字符串作為其輸入。線路
map(str, response)
大致相同(str(x) for x in response)
?,F在我們有一個字符串表示的可迭代對象,我們想要連接在一起的值。該
.join()
方法獲取所有這些字符串,并按照您的需要將它們連接成一個巨大的字符串。注意
''
開頭的.join()
. 這是我們在加入的每個字符串之間使用的分隔符。您可以輕松地使用空格或逗號或任何其他類似', '.join(...)
.

TA貢獻1775條經驗 獲得超11個贊
你不能用逗號連接字符串和整數。正如您的輸出所示,這為您提供了一個元組。
您需要將整數轉換為字符串。一種方法是:response += str(seconds) + " seconds"
另一種方法是使用字符串格式函數: response += "{} seconds".format(seconds)
添加回答
舉報