I'm trying to write a code that returns the factorial of the input num but this code is returning "None" when I run it, I'm not sure why.
def factorial(num):
if type(num) is not int():
return None
elif num == 0:
return 1
elif num < 0:
return None
else:
return num * factorial(num - 1)
factorial5 = factorial(5)
print(factorial5)
You have an extra parenthesis .. see the correction from int()
to int
:
def factorial(num):
if type(num) is not int:
return None
elif num == 0:
return 1
elif num < 0:
return None
else:
return num * factorial(num - 1)
factorial5 = factorial(5)
print(factorial5)
NOTE: ran with Python3
120