【发布时间】:2018-12-20 03:57:36
【问题描述】:
基本上,我需要编写一个递归函数,它接受一个字符串列表,然后返回一个字符串列表,其中每个字符串中的每个字符重复/加倍。
例如,doubleStringList(['I','love','overflow']) 将返回 ['II','lloovvee','oovveerrffllooww'].
我决定把它分成两个递归函数。我已经创建了一个函数,它返回带有双字符的字符串:
def doubleCharacter(seq):
if len(seq) == 0:
return seq
else:
return (seq[0] * 2) + doubleCharacter(seq[1:])
例如,输入 doubleCharacter("overflow") 将返回 'oovveerrffllooww'
我正在尝试创建第二个递归函数,它使用第一个除了字符串列表作为参数而不是单个字符串。例如:
def doubleStringList(sList):
if len(sList) == 0:
return sList
else:
return doubleCharacter(sList[0]) + doubleStringList(sList[1:])
理论上,如果我输入了 doubleStringList(["overflow","is","great"]),它应该返回 ["oovveerrffllooww", "iis", "ggrreeaatt"]。如果有人可以帮我弄清楚这段代码,我将不胜感激。
【问题讨论】:
-
您好,欢迎来到 Stack Overflow。今后,我敦促您提供所有相关信息。在这种情况下,代码简单且易于执行,但一般来说,如果您在调查问题期间收到错误消息,这是应该与您的代码一起包含在问题中的第一件事。
-
请加语言标签
标签: string list function recursion