I am trying to write a recursive function to sum up the digits in a number. This is how I did it:
def f(N):
sum = 0
return foo(N,sum)
def foo(N, sum):
if N < 10:
sum = sum + N
# print 'N=', N
return sum
else:
sum = sum + N%10
# print 'N=', N, 'sum= ', sum
return sum and foo(N/10,sum)
res = f(5)
print 'N=5', 'res=', res
res = f(59)
print 'N=59', 'res=', res
res = f(568)
print 'N=568', 'res=', res
Is it possible to have a simpler recursion using only the f-function, i.e. no 'foo' function?