My intial solution used a while loop with a decremented variable. I now wanted to try my hand with recursion. I came across this solution but don’t understand what’s happening with the last two lines. How does n begin from 1 when it’s greater than 1 when it first enters the function?

```
def factorial(n):
if n < 1: # base case
return 1
else:
returnNumber = n * factorial( n - 1 ) # recursive call
print(str(n) + '! = ' + str(returnNumber))
return returnNumber
factorial(6)
```

Output:

```
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
```