【Day3】用python实现n的阶乘


方法1:math.factorial(x)

import math

x=4
value = math.factorial(x)
print(value)

输出结果:

24

方法2:reduce函数

from functools import reduce

def factorial_1(n):
    return reduce(lambda x, y: x * y, range(1, n + 1))

if __name__ == '__main__':
    print(factorial_1(4))

这里还有另外一个写法,注意就是右边的参数是列表的形式

from functools import reduce

def factorial_2(n):
    l=[]
    for i in range(1, n + 1):
        l.append(i)
    return reduce(lambda x, y: x * y, [1] + l)

if __name__ == '__main__':
    print(factorial_2(4))

输出结果:

24

方法3:递归实现

def factorial_3(n):
    if n == 0:

        return 1

    else:

        return n * factorial_3(n - 1)

if __name__ == '__main__':
    print(factorial_3(4))

输出结果:

24

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM