我如何在递归 python 函数中冒泡一个数组?

How can i bubble up an array in a recursive python function?

我正在学习动态编程,我正在观看的视频显示了 JS 中问题的解决方案,如下所示:

我正在尝试弄清楚如何在 Python 中编写此解决方案,我已将递归函数制作成这样:

def howSum(nums: List[int], target: int):

    if target == 0:
        return []
    elif target < 0:
        return None

    for num in nums:
        rem = target - num
        res = howSum(nums, rem)

        if res:
            res.append(num)
            return res

    return None

print(howSum([2,3,5], 8))

但它是我的函数 returns None 而不是返回数组 [2,2,2,2].

我在将此函数从 JS 转换为 Python 时做错了什么吗?

空数组在Python中是falsy的,所以if res应该是if res is not None(为了匹配JS中的相应条件)