I don't really understand what's wrong with my snippet here, it looks pretty simple but the compiler is returning an error to me.
choice = input("Enter a number: ")
def fact(num):
if(num == 0):
return 1
return num * fact(num-1)
factorial = fact(choice)
print("The factorial of %d is %d." % (choice, factorial))
The function works fine, it's just something about setting the return to a variable, or possibly an issue in my print()
statement. I'm just coding some random things to help me understand python syntax better.
Edit: the error
Enter a number: 3
Traceback (most recent call last):
File "practice.py", line 10, in <module>
factorial = fact(choice)
File "practice.py", line 8, in fact
return num * fact(num-1)
TypeError: unsupported operand type(s) for -: 'str' and 'int'