求n的阶乘

笑着哭i 提交于 2020-01-28 02:21:14

第一种:普通的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))

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!