def recur_partial(text):
#base part
if (len(text) < 2):
print('')
return "put your return statement here"
#recursive part
else:
text = text[1:]
return recur_partial(text)
def recur_partial(text):
#base case
if (len(text) < 2):
return '' # changed from print
#recursive case
else:
text = text[1:]
print(text) # print the value then continue recursion.
return recur_partial(text)
函数的退出点没有return语句,因此它将不返回任何语句,将return语句放在下面
return
不是print
,要查看插入打印所需的输出为了正确理解递归,我有一些重要的观察结果:
递归函数返回一个值
您的期望不正确,因为它假定函数将返回多个值。 虽然它确实对同一代码进行多次迭代和遍历,但在最后只返回一个值。你知道吗
在基本情况下,您没有返回语句
您编写了一个很好的递归函数,它确实有一个基部分,不会导致堆栈溢出,但最终不会返回任何内容。你知道吗
函数不返回任何内容,因为基部分中没有返回内容,因此无论输入如何,它都将始终不返回任何内容。你知道吗
递归函数输出应根据不同的输入而改变
关于这个想法,如果一个递归函数每次删除一个字母,那么最终结果总是一个空字符串,它将不是一个非常有用的函数,因为每次的结果都是相同的。你知道吗
这将达到您所期望的效果,但请记住,它只是打印中间结果,并且在最后每次都返回空字符串。你知道吗
相关问题 更多 >
编程相关推荐