今天小編給大家分享的是用python遞歸求階乘怎么做,相信很多人都不太了解,為了讓大家更加了解python遞歸求階乘的方法,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的西城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
python遞歸求階乘的方法
階乘:例如 5! 指的是“5的階乘”,即 5! = 1*2*3*4*5。
“遞歸”就是對(duì)自身進(jìn)行調(diào)用的函數(shù)。
def f(x): if x == 0: return 0 elif x == 1: return 1 else: return (x * f(x-1)) print(f(5))
代碼解釋:如果 x=5,那么就返回 5*f(4) 的值。而想知道這個(gè)值,就得先算出 f(4) 等于多少。根據(jù)函數(shù) f(x),f(4) = 4*f(3),所以 f(5) = 5*4*f(3)。以此類推,推到 f(5) = 5*4*3*2*f(1)。函數(shù) f(x) 說(shuō)了,當(dāng) x==1 時(shí),返回值為 1。所以:f(5) = 5*4*3*2*1 = 120。所以,輸出結(jié)果如下:
120
聽起來(lái)好像很麻煩,感覺(jué)不好理解。如果不用遞歸函數(shù)呢?用最基本的代碼,可以寫成:
f = 1 for i in range(1,6): f = f * i print(f)
結(jié)果一樣是120。
以上就是用python遞歸求階乘怎么做的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎來(lái)創(chuàng)新互聯(lián)行業(yè)資訊!