求n的阶乘
程序员文章站
2024-03-15 16:41:18
...
第一种:普通的for循环
n = int(input('please inputer a integer:'))
num = 1
if n < 0:
print('负数没有阶乘!')
elif n == 0:
print('0的阶乘为1!')
else :
for i in range(1,n + 1):
num *= i
print(num)
第二种:reduce()函数
#从functools中调用reduce()函数
from functools import reduce
n = int(input('please inputer a integer:'))
#使用lambda,匿名函数,迭代
num = reduce(lambda x,y:x*y,range(1,n))
print(num)
第三种:factorial()函数
import math
n= int(input('please inputer a integer:'))
value = math.factorial(n)
print(value)
第四种:递归调用
def jc(n):
if n == 0:
return 1
else:
return n * jc(n - 1)
n= int(input('please inputer a integer:'))
print(jc(n))