Let's write a recursive function to determine whether the number is even. The idea is very simple: if n-1 is not even, then n is even, and if n-1 is even, then n is not even. 0 is, of course, even:

In [1]:
def is_even(n):
    '''Return True iff n is even'''
    
    if n == 0:
        return True
    
    return not is_even(n-1)

Here is an even simpler idea: n is even iff n-2 is even. To avoid infinite recursion, we'd have to now have two base cases:

In [2]:
def is_even2(n):
    '''Return True iff n is even'''
    
    if n == 0:
        return True
    if n == 1:
        return False
    
    return is_even2(n-2)