四种方法
(一)factorial()函数
N = int(input())
import math
value = math.factorial(N)
print(value)
(二)for循环
N = int(input())
num = 1
if N < 0:
print('没有阶乘')
elif N == 0:
print('阶乘为1')
else:
for i in range(1,N+1):
num *= i
print('阶乘为{}'.format(num))
(三)reduce()函数
reduce函数对参数序列中元素进行累积,从functools模块中调用。
N = int(input())
from functools import reduce
num = reduce(lambda x,y:x*y,range(1,N+1))
print(num)
(四)函数递归调用
def f(n):
if n == 0:
return 1
else:
return n*f(n-1)
N = int(input())
print(f(N))
#例题:浙大PTA 题4-5