我在 python 2.7 中编写了一个函数来计算给定数字的数字和:
def dig_sum(n):
s = 0
while n:
s = s + n % 10
n = n/10
return s
现在尝试将其重写为递归函数:
def dig_sum(n):
s = 0
if n != 0:
s = n % 10
s += s
return dig_sum(n/10)
return s
我的递归函数有什么问题?执行此类功能时的最佳做法是什么? 提前致谢!
最佳答案
递归函数看起来像这样
def dig_sum(n):
if n < 10: # Handle single digits as your base case
return n
else:
return n%10 + dig_sum(n/10) # Add one's digit, then shift and continue
测试
>>> dig_sum(1001)
2
>>> dig_sum(12345)
15
关于python - 如何在 Python 2.7 中实现迭代函数的递归函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024972/