I am working on an exercise in Think Python 2nd edition. The directions are as follows:

> 
> Write a function called do\_n that takes a function object and a number, n, as arguments, and that calls the given function n times.
> 
> 
> 

Here is my code:

```
def print_once(s):
    print(s)

def do_n(func, n):
    if n <= 0:
        return
    else:
        print_once(s)
        do_n(func, n - 1)

do_n(print_once('Bob'), 3)

```

My function do\_n was correct according to what I found online, but I cannot understand why it does not call print\_once 3 times.