def recursion(n):
成都創(chuàng)新互聯(lián)公司成立十多年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供網(wǎng)站制作、成都網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設計、國際域名空間、網(wǎng)絡營銷、VI設計、網(wǎng)站改版、漏洞修補等服務。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設都非常重要,成都創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
if n==1:
return 1
else:
return n*recursion(n-1)
list=[]
#定義一個空的列表,將調(diào)用遞歸函數(shù)生成的階乘值追加到列表
print("將1-10的階乘寫入列表,使用sum函數(shù)求和") #顯示效果明顯
for i in range(1,11):
list.append(recursion(i))# 將調(diào)用遞歸函數(shù)生成的階乘值追加到列表
print(sum(list)) #列表求和
sum_0=0
#顯示效果明顯,center(80,"*")標題放置位置
print("for循環(huán)直接調(diào)用遞歸函數(shù)求和".center(80,"*"))
for i in range(1,11):
sum_0 +=recursion(i)
print(sum_0)
這是1-10的階乘求和,你可以參考下!
輸出的結(jié)果
一個整數(shù)的階乘就是所有小于等于該數(shù)字的正整數(shù)的積。舉例說明3的階乘就是3*2*1。
電腦:WIN10
軟件:ISO
軟件:python
1、用def代碼創(chuàng)建一個函數(shù),名稱為func,參數(shù)為n
def func(n):
2、創(chuàng)建一個變量res,賦值為函數(shù)的參數(shù)n,代碼如下:
res = n。
3、然后寫入for range循環(huán),具體代碼如下:
for i in range(1,n):
4、接下來在for循環(huán)當中進行計算并且返回res,具體代碼如下:
res *= i
return res。
5、用print代碼打印輸出3的階乘,代碼如下:
print(func(3))。
6、以上代碼實現(xiàn)了階乘的運算,另外我們還可以用遞歸的方式進行。代碼如下:
def func1(n):
if n==1:
return 1
else:
return n *func1(n-1)
print(func1(3))
遞歸方式是函數(shù)自己調(diào)用自己。
#python 3.6.4
sum = 0
temp=1
shu = int(input("請輸入所求的一個數(shù)階乘倒數(shù)的累加和: "))
for i in range(1, shu+1):
temp=temp*i
sum=sum+1.0/temp?
print("1!+2!+.....+{0}={1}".format(shu,sum))
測試:
請輸入所求的一個數(shù)階乘倒數(shù)的累加和: 1
1!+2!+.....+1=1.0
請輸入所求的一個數(shù)階乘倒數(shù)的累加和: 2
1!+2!+.....+2=1.5
請輸入所求的一個數(shù)階乘倒數(shù)的累加和: 3
1!+2!+.....+3=1.6666666666666667
請輸入所求的一個數(shù)階乘倒數(shù)的累加和: 10
1!+2!+.....+10=1.7182818011463847
請輸入所求的一個數(shù)階乘倒數(shù)的累加和: 100
1!+2!+.....+100!=1.7182818284590455
#n充分大,結(jié)果就是e-1(e=2.718281828...)