【发布时间】:2015-03-14 17:36:00
【问题描述】:
def find_values(number, base, args=[]):
if number // base != 0:
args = args + find_values(number // base, base, args+[number % base])
return args
else:
args = args + [number % base]
return args
print(find_values(120, 10))
该函数假设取数字(以 10 为底)并更改它以满足给定的基值。
这是迄今为止我想出的最好的东西。返回和打印的数组具有我需要在那里的所有三个值,但由于某种原因在索引 0 处有一个额外的 0,并且数组需要反转,但是,每次我在 else 语句中尝试这个时,我都会得到一个错误。有什么方法可以用我当前的代码完成这个吗?
虽然我了解递归背后的原理,但我发现很难将其应用到这个问题上,希望能提供任何帮助。
【问题讨论】:
标签: python python-3.x recursion