python如何計算數的階乘

dunne21發表於2021-09-11

python計算數的階乘的三種方法:1、使用“for i in range()”迴圈語句求階乘;2、使用“reduce()”函式求階乘;3、透過遞迴求階乘。

python如何計算數的階乘

方法一:

普通的for迴圈語句:

a = 1
n = 5
for i in range(1,n+1):
    a = a * i
print(a)

得到結果:

120

方法二:

採用上篇博文提到的reduce()函式:

from functools import reduce
n = 5
print(reduce(lambda x,y:x*y,range(1,n+1)))

得到結果:

120

方法三:

採用函式的遞迴:

def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return (n*factorial(n-1))
a = factorial(5)
print(a)

得到結果:

120

需要注意的是,函式的遞迴要有終止機制,否則會一直遞迴下去。如上個程式中給定了if判斷語句來終止迴圈的進行。以上三種方式分別採用了不同的方法,第一種是最容易理解的,第二種是最pythonic的,而第三種則是易用性最高的。第三種直接定義一個階乘函式,隨時都可以呼叫,從而得到不同值。

推薦課程:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1600/viewspace-2832874/,如需轉載,請註明出處,否則將追究法律責任。

相關文章