递归立方体方法

时间:2019-02-24 20:49:38

标签: python

我有使函数递归的任务。我读了有关它,但我仍然不确定。

我有功能:

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

据说它必须是尾递归的。有人对我应该去哪里有什么想法?我读了有关它,但我不太明白

1 个答案:

答案 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,[]))

不仅如此,您还可以通过许多其他方式实现。