我有使函数递归的任务。我读了有关它,但我仍然不确定。
我有功能:
arr = [1,2,3,4,5]
def cube(arr):
cube_arr = []
for el in arr:
cube_arr.append(el ** 3)
return cube_arr
因此,此方法应递归使用。我不确定它们的意思,我只是做到了
arr = [1,2,3,4]
def cube(arr):
cube_arr = []
if len(arr) == 0
return None
else:
for el in arr:
cube_arr.append(el ** 3)
return cube_arr
据说它必须是尾递归的。有人对我应该去哪里有什么想法?我读了有关它,但我不太明白
答案 0 :(得分:1)
您可以简单地执行此操作以使该函数递归。
arr = [1,2,3,4]
def cube(arr,cube_arr):
if len(arr)==0:
return cube_arr
else:
cube_arr.append(arr.pop(0)**3)
return cube(arr,cube_arr)
print(cube(arr,[]))
不仅如此,您还可以通过许多其他方式实现。