I am trying to return a tuple (recursion result, recursion steps) in this manner. My code adds all even numbers and returns the sum of all even numbers and number of recursive steps. If odd, then it returns 0 and number of recursive steps.
I am getting a Type Error in my value, step variables...why is that so?
def get_sum_evens(numbers):
if not numbers:
return 0, 0
elif numbers[0] % 2 == 0:
value, step = get_sum_evens(numbers[1:])
return numbers[0] + value, step + 1
elif numbers[0] % 2 != 0:
steps = get_sum_evens(numbers[1:])
return 0, steps + 1
print(get_sum_evens([2, 3, 5, 6]))
print(get_sum_evens([]))
print(get_sum_evens([1, 3, 5, 7]))
print(get_sum_evens([9, 5, 15, 11, 23]))