Hey, I'm trying to do a check for negative numbers with my factorial function so that it forces the user to enter a positive int. Below is what I tried, but when I call the function with say -23, I get:

```
Please provide a non-negative number: 3
>>>
```

Here's is the factorial function as I wrote it:

```
def factorial(x):
total = 1
if x == 0:
return total
elif x < 0:
temp = int(raw_input('Please provide a non-negative number: '))
factorial(temp)
else:
for i in range(1, x+1):
total *= i
return total
```