To walk through the four steps discussed in class: 1. rec_in(some_list, item) 2. Recusive case: Imagine that you have a working version of rec_in, however, you can only call it on smaller versions of your problem (in this case) a smaller list, how could we solve the problem? Check the first thing in the list to see if it matches the item, if it does, return True. Otherwise, check the rest of the list with our recursive function. 3. base case: if the list is empty, than the item isn't in the list 4. Put it all together: def rec_in(some_list, item): if len(some_list) == 0: return False else: if some_list[0] == item: return True else: return rec_in(some_list[1:], item) If you want to get fancy, a shorter version of this is: def rec_in(some_list, item): if len(some_list) == 0: return False else: return some_list[0] == item or rec_in(some_list[1:], item)