试图找到数字的素数因子,但它返回嵌套列表

时间:2018-05-10 14:41:06

标签: python list recursion

我遇到一些问题,函数的输出是一堆嵌套列表。我试图以递归的方式制作一个因子树,直到我最终只得到了素数因子。

def getPrimeFactorHelper(x):
    r = []
    getPrimeFactor(x,r)
    return r

def getPrimeFactor(x,r):
    x = int(x)
    if is_Prime(x) == True:
        r.append(x)
        return r
    z = getLowestFactors(x)
    r.append(getPrimeFactor(z[0],r))
    r.append(getPrimeFactor(z[1],r))
    return r

目前它为我提供了正确的数字,但我创建的嵌套列表并不是我真正想要的结果。

输出:

(3242)[2, [...], 1621, [...]] [...]

再次列出相同的名单。

另一个更糟糕的地方:

(48)  [2, [...], 2, [...], 2, [...], 2, [...], 3, [...], [...], [...], [...]]

0 个答案:

没有答案