【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