這篇文章將為大家詳細(xì)講解有關(guān)python實(shí)現(xiàn)階乘的方法,文章內(nèi)容質(zhì)量較高,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
官渡網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,官渡網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為官渡超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的官渡做網(wǎng)站的公司定做!
1、階乘的計(jì)算:用遞歸函數(shù)實(shí)現(xiàn)是比較好的方案,先定義一個(gè)遞歸函數(shù)實(shí)現(xiàn)求階乘功能。
def recursion(n): #'定義遞歸函數(shù)實(shí)現(xiàn)求階乘功能' if n==1: return 1 else: return n*recursion(n-1)
2、求和:(1)可以直接求和 。也可以定義一個(gè)列表,將for遍歷得到的階乘結(jié)果追加到列表,然后使用sum()函數(shù)求和。
Sum=0 print("for循環(huán)直接調(diào)用遞歸函數(shù)求和".center(80,"*")) for i in range(1,21): Sum +=recursion(i) print(Sum) 列表求和方案: list=[] #定義一個(gè)空的列表,將調(diào)用遞歸函數(shù)生成的階乘值追加到列表 print("將1-20的階乘寫(xiě)入列表,使用sum函數(shù)求和".center(80,"*")) for i in range(1,21): list.append(recursion(i))# 將調(diào)用遞歸函數(shù)生成的階乘值追加到列表 print(sum(list)) #列表求和
【完整源代碼】以及結(jié)果:
def recursion(n): #'定義遞歸函數(shù)實(shí)現(xiàn)求階乘功能' if n==1: return 1 else: return n*recursion(n-1) list=[ ] #定義一個(gè)空的列表,將調(diào)用遞歸函數(shù)生成的階乘值追加到列表 for i in range(1,21): list.append(recursion(i))# 將調(diào)用遞歸函數(shù)生成的階乘值追加到列表 print(sum(list)) #列表求和 Sum = 0 for i in range(1,21): Sum +=recursion(i) print(Sum) 結(jié)果: 2561327494111820313
補(bǔ)充:
還可以用迭代實(shí)現(xiàn)
利用for循環(huán)&range()
def factorial(number): product = 1 for i in range(number): product = product * (i+1) return product
以上就是python實(shí)現(xiàn)階乘的方法,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊,感謝各位的閱讀。