为了账号安全,请及时绑定邮箱和手机立即绑定

将部分添加到现有字符串的正确方法是什么

将部分添加到现有字符串的正确方法是什么

达令说 2021-06-09 20:22:02
我现在使用 python,我想知道这样做的正确方法。我正在尝试添加片段以制作完整的字符串,但我在字符串输出中得到了符号def responseLibrary(days, hours, minutes, seconds):global globalSecondsresponse = globalSeconds, " seconds equals "if days > 0:    response += days, " days "if hours > 0:    response += hours, " hours "if minutes > 0:    response += minutes, " minutes "if seconds > 0:    response += seconds, " seconds "return response我得到的输出看起来像这样(10, ' seconds equals ', 10, ' seconds ')
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

最后,你可以使用

return ''.join(map(str, response))

发生的事情是当你说response = globalSeconds, " seconds equals "你正在创建一个tuple。当您使用 print 函数时,您不会传入由某种基于逗号的连接操作创建的单个字符串。您传入多个参数,并且打印函数会适当地处理它们。

如果您想一直连接字符串,该+运算符允许字符串连接。.join()然而,使用而不是大量连接通常更有效。

作为参考,此答案使用内置str.join()方法,记录在此处。它还使用此处记录map()内置函数。他们正在做的事情基本上如下:

  1. 在你的程序结束时,response是一个不同值的元组

  2. 并非所有这些值都是字符串(请注意,您从未将任何整数转换为其他类型)。

  3. 内置.join()方法需要一个可迭代的字符串作为其输入。

  4. 线路map(str, response)大致相同(str(x) for x in response)。现在我们有一个字符串表示的可迭代对象,我们想要连接在一起的值。

  5. .join()方法获取所有这些字符串,并按照您的需要将它们连接成一个巨大的字符串。

  6. 注意''开头的.join(). 这是我们在加入的每个字符串之间使用的分隔符。您可以轻松地使用空格或逗号或任何其他类似', '.join(...).


查看完整回答
反对 回复 2021-06-22
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

你不能用逗号连接字符串和整数。正如您的输出所示,这为您提供了一个元组。

您需要将整数转换为字符串。一种方法是:response += str(seconds) + " seconds"

另一种方法是使用字符串格式函数: response += "{} seconds".format(seconds)


查看完整回答
反对 回复 2021-06-22
  • 2 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号