def factorial(n):
if isinstance(n,int):
if n == 1:
return 1;
elif n <= 0:
print("Factorial is for positive integer.")
else:
return n*factorial(n-1)
else:
print("It's only for integers")
factorial_number = input("give an integer that you want to factor: ")
print(factorial(factorial_number))
您可以在获得输入后立即处理,请参见下面的示例:
if factorial_number.isdigit():
factorial_number = int(factorial_number)
else:
print("It's only for integers")
内置的input()
总是返回str
对象。您需要将其投放到int
。
factorial_number = int(input("give an integer that you want to factor: "))
print(factorial(factorial_number))