Question: ```
def foo(n):
    print(n)
    foo(n-1)
>>foo(5)
>>5

>>1

```

Function with return

```
def foo(n):
    print(n)
    return f(n-1)
>>5

>>1

```

Both these functions yields same result. So is it okay to not use return in such cases?

Answer: 
It depends on whether you just want to print your output, or to actually assign it. Just printing it is fine if you just want to see your output, but how would you actually use that output later? You could copy and paste it, but that seems inefficient... 

However, in your case, it looks like you just want to see the output of each call in your recursion, in which case, there is no need to assign it.
In this case in particular it doesn't matter, it's just like making a recursive void function in other programming languages.