在python中使用递归提取数字

时间:2016-10-13 03:48:57

标签: recursion

def getdigits(n):
    if n<10:
        return [n]
    else:
        return [getdigits(n/10)]+[n%10]

但对于124:

预期输出:[1,2,4]
实际输出:[[[1],2],4]

据我了解

  • getdigits(124)= [getdigits(12)] + [4]

  • getdigits(12)= [getdigits(1)] + [2]

  • 获取数字(1)= [1]

因此,

  • getdigits(124)= [1] + [2] + [4] = [1,2,4]

我觉得第二部分出现了问题,因为我看不出有什么问题。任何有关这方面的建议都将受到赞赏

1 个答案:

答案 0 :(得分:3)

只需删除额外的括号:

def getdigits(n):
    if n<10:
        return [n]
    else:
        return getdigits(n/10) + [n%10]