2 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
最后,你可以使用
return ''.join(map(str, response))
發(fā)生的事情是當(dāng)你說(shuō)response = globalSeconds, " seconds equals "
你正在創(chuàng)建一個(gè)tuple。當(dāng)您使用 print 函數(shù)時(shí),您不會(huì)傳入由某種基于逗號(hào)的連接操作創(chuàng)建的單個(gè)字符串。您傳入多個(gè)參數(shù),并且打印函數(shù)會(huì)適當(dāng)?shù)靥幚硭鼈儭?/p>
如果您想一直連接字符串,該+
運(yùn)算符允許字符串連接。.join()
然而,使用而不是大量連接通常更有效。
作為參考,此答案使用內(nèi)置str.join()
方法,記錄在此處。它還使用此處記錄的map()
內(nèi)置函數(shù)。他們正在做的事情基本上如下:
在你的程序結(jié)束時(shí),
response
是一個(gè)不同值的元組。并非所有這些值都是字符串(請(qǐng)注意,您從未將任何整數(shù)轉(zhuǎn)換為其他類(lèi)型)。
內(nèi)置
.join()
方法需要一個(gè)可迭代的字符串作為其輸入。線(xiàn)路
map(str, response)
大致相同(str(x) for x in response)
?,F(xiàn)在我們有一個(gè)字符串表示的可迭代對(duì)象,我們想要連接在一起的值。該
.join()
方法獲取所有這些字符串,并按照您的需要將它們連接成一個(gè)巨大的字符串。注意
''
開(kāi)頭的.join()
. 這是我們?cè)诩尤氲拿總€(gè)字符串之間使用的分隔符。您可以輕松地使用空格或逗號(hào)或任何其他類(lèi)似', '.join(...)
.

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