【问题标题】:Write a recursive function in python that duplicates each character in a string [closed]在python中编写一个递归函数,复制字符串中的每个字符[关闭]
【发布时间】:2015-06-11 17:29:23
【问题描述】:

例如,输入是“abc”,函数应该返回“aabbcc”。

我是递归函数的新手,对它们真的很困惑。

【问题讨论】:

  • 你有什么困惑?
  • @deceze 当我们在课堂上展示示例时,通常会有一些变量向下计数到结束函数的下限。我不知道如何解决这个问题。

标签: python function recursion duplicates repeat


【解决方案1】:

这里的“下限”是当传入的字符串(或列表或元组...)为空时 - 在这种情况下您只需返回它,这将结束递归:

def recdup(seq):
    if not seq:
        return seq
    head, tail = seq[0:1], seq[1:]
    return (head * 2) + recdup(tail)

【讨论】:

【解决方案2】:
#iterate through x, store each value twice in y, print y joined by nothing
x = 'abc'
y=[i*2 for i in x]
print ''.join(y)

【讨论】:

  • 这行得通,但它不像递归是吗?我认为这个解决方案是迭代的。
  • 当然是最 Pythonic 的解决方案,但 OP 要求使用递归解决方案...
猜你喜欢
  • 1970-01-01
  • 2014-03-28
  • 2023-04-05
  • 2022-10-02
  • 2015-05-12
  • 2018-10-24
  • 2021-07-10
  • 2021-12-15
相关资源
最近更新 更多