【发布时间】:2015-06-11 17:29:23
【问题描述】:
例如,输入是“abc”,函数应该返回“aabbcc”。
我是递归函数的新手,对它们真的很困惑。
【问题讨论】:
-
你有什么困惑?
-
@deceze 当我们在课堂上展示示例时,通常会有一些变量向下计数到结束函数的下限。我不知道如何解决这个问题。
标签: python function recursion duplicates repeat
例如,输入是“abc”,函数应该返回“aabbcc”。
我是递归函数的新手,对它们真的很困惑。
【问题讨论】:
标签: python function recursion duplicates repeat
这里的“下限”是当传入的字符串(或列表或元组...)为空时 - 在这种情况下您只需返回它,这将结束递归:
def recdup(seq):
if not seq:
return seq
head, tail = seq[0:1], seq[1:]
return (head * 2) + recdup(tail)
【讨论】:
#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)
【讨论】: