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)
。现在我们有一个字符串表示的可迭代对象,我们想要连接在一起的值。该
.join()
方法获取所有这些字符串,并按照您的需要将它们连接成一个巨大的字符串。注意
''
开头的.join()
. 这是我们在加入的每个字符串之间使用的分隔符。您可以轻松地使用空格或逗号或任何其他类似', '.join(...)
.

TA贡献1775条经验 获得超11个赞
你不能用逗号连接字符串和整数。正如您的输出所示,这为您提供了一个元组。
您需要将整数转换为字符串。一种方法是:response += str(seconds) + " seconds"
另一种方法是使用字符串格式函数: response += "{} seconds".format(seconds)
添加回答
举报