我需要编写一个递归函数getdigits(n)
,它返回正整数 n 中的数字列表。
例子getdigits(124) => [1,2,4]
到目前为止,我得到的是:
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]
get digits(1) = [1]
所以getdigits(124) = [1] + [2] + [4] = [1, 2, 4]
我认为它的第二部分有问题,因为我看不出这种情况有什么问题,有没有给出整个解决方案的建议?