How can I convert a for loop to a recursive function? My loop is pretty simple. The function takes in two parameters, a and b; both are integers where a&lt;=b. The function will then create a list of numbers from a to b.

This is what I created:

 def cat(a,b):
     j = []      
     for i in range (a,b):
     j.append(a+1)
     a +=1


I honestly cannot figure out how to turn this into a recursive function.. I have tried things which I realize don't make any sense and I'm not really sure where to start. Any help would really be appreciated :) Thanks
Here is a recursive version of this procedure, in python:

def cat(a,b):
  if a == b:
    return [a]
  else:
    return [a] + cat(a+1,b)


Another option is

def cat(a,b):
  if a == b:
    return [b]
  else:
    return cat(a,b-1) + [b]


These conversions are heavily geared toward this particular function. Here is a more general conversion, in the context of state machines without input (inputs can easily be added):

def run_my_algorithm(state = None):
  if state is None:
    state = initial_state
  if is_final_state(state):
    return extract_answer(state)
  else:
    state = next_state(state)
    return run_my_algorithm(state)


Hopefully the notation is self-explanatory.