Sep-16-2018, 04:36 PM
def recursive_sum(l1, l2, idx=0, carryout=0): if idx < min(len(l1), len(l2)): l1 = l1[::-1] l2 = l2[::-1] n = int(l1[idx]) + int(l2[idx]) + carryout carryout = 0 if n > 999: carryout = int(n/1000) n -= 1000*carryout return recursive_sum(l1, l2, idx + 1, carryout) + [n] else: return [carryout] if carryout else [] l1 = ['001', '234', '567'] l2 = ['007', '894', '561'] # l2 = ['999', '166', '568'] print(recursive_sum(l1, l2))