负数没有阶乘 0!=1 1!=1 n!=1*2*3...*(n-1)*n (n>1)
由上我们不难看出:一共分为三种情况,负数,结果为1,n>1
""" 函数的功能是用来计算num的阶乘 :param num: 用来计算阶乘的数字 :return: None """
def factor(num):
if num < 0:
print('负数没有阶乘')
elif num == 0 or num == 1:
print(f'{num}的阶乘结果是1')
else:
fact = 1 # 阶乘结果,初始值为1
for i in range(1, num + 1):
fact *= i
print(f'{num}的阶乘结果是{fact}')
# 测试函数
num = int(input('请输入要求阶乘的自然数:')) #注意数据类型转换
factor(num)
fact = factor(num)
print(fact)