0

I'm learning about recursion in Python. However, Python is being weird:

def listsum(numslist, _total=0):
if len(numslist) > 1:
    _total += numslist[-1]
    print("Total is %d" % _total)
    numslist = numslist[:-1]
    listsum(numslist, _total)
else:
    _total += numslist[-1]
    print("Returning %d" % _total)
    return _total


if __name__ == '__main__':
    print(listsum([10, 10, 10]))

For me it returns:

Total is 10
Total is 20
Returning 30
None

Can someone tell me what I'm doing wrong?

Edit (fixed)

    listsum(numslist, _total)

Should be

    return listsum(numslist, _total)
Praetore
  • 99
  • 9

0 Answers0