python計算數(shù)的階乘有哪些方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的臨泉網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

小編給大家分享一下python計算數(shù)的階乘有哪些方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

python計算數(shù)的階乘的三種方法:1、使用“for i in range()”循環(huán)語句求階乘;2、使用“reduce()”函數(shù)求階乘;3、使用“factorial()”遞歸函數(shù)求階乘。

python計算數(shù)的階乘有哪些方法

方法一:

普通的for循環(huán)語句:

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

得到結(jié)果:

120

方法二:

采用上篇博文提到的reduce()函數(shù):

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

得到結(jié)果:

120

方法三:

采用函數(shù)的遞歸:

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

得到結(jié)果:

120

需要注意的是,函數(shù)的遞歸要有終止機制,否則會一直遞歸下去。如上個程序中給定了if判斷語句來終止循環(huán)的進行。以上三種方式分別采用了不同的方法,第一種是最容易理解的,第二種是最pythonic的,而第三種則是易用性最高的。第三種直接定義一個階乘函數(shù),隨時都可以調(diào)用,從而得到不同值。

看完了這篇文章,相信你對python計算數(shù)的階乘有哪些方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道,感謝各位的閱讀!

當前文章:python計算數(shù)的階乘有哪些方法-創(chuàng)新互聯(lián)
標題鏈接:http://muchs.cn/article20/ddpejo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序企業(yè)建站、網(wǎng)站收錄、動態(tài)網(wǎng)站面包屑導航、云服務器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)