【发布时间】:2016-05-11 07:03:41
【问题描述】:
我刚刚学会了递归是什么,我正在尝试找到一种方法来递归地复制单词中的字母。这只是一种练习方式。如果有没有递归的更好方法,我愿意接受任何反馈。但是,我主要是想找到一个解决方案,以便在我回去查看课程作业和讲座幻灯片之前阐明什么是递归。它不会两次打印最后一个字母。
我的代码:
def makeDups(young):
if len(young) <= 1:
return young
elif young[0] != young[1]:
return 2 * (young[0]) + makeDups(young[1:])
else:
return makeDups(young[1:])
young = 'abcdefg'
print(young)
print(makeDups(young))
【问题讨论】:
-
我发现了问题。我把第一个返回改成这个:return 2 * young
-
如果你对递归感兴趣,我建议你尝试解决Towers of Hanoi这个难题。
-
我的课接下来要复习了!谢谢!
标签: string recursion duplicates letters