def?little_than_50(x):
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供渾源網(wǎng)站建設(shè)、渾源做網(wǎng)站、渾源網(wǎng)站設(shè)計(jì)、渾源網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、渾源企業(yè)網(wǎng)站模板建站服務(wù),10多年渾源做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
if?x?=?50:
return?True
else:
return?False
def?calculate_factorial(x):
if?x?=?1:
return?1
else:
return?x*calculate_factorial(x-1)
while?True:
n?=?int(input("Input?a?number?for?calculating?factorial:"))
if?little_than_50(n):
break
else:
print("{}?is?out?of?range,please?input?again!".format(n))
print("The?factorial?of?{}?is?{}".format(n,?calculate_factorial(n)))
def recursion(n):
if n==1:
return 1
else:
return n*recursion(n-1)
list=[]
#定義一個(gè)空的列表,將調(diào)用遞歸函數(shù)生成的階乘值追加到列表
print("將1-10的階乘寫(xiě)入列表,使用sum函數(shù)求和") #顯示效果明顯
for i in range(1,11):
list.append(recursion(i))# 將調(diào)用遞歸函數(shù)生成的階乘值追加到列表
print(sum(list)) #列表求和
sum_0=0
#顯示效果明顯,center(80,"*")標(biāo)題放置位置
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é)果
第一種:普通的for循環(huán)
第二種:reduce()函數(shù)
第三種:factorial()函數(shù)
第四種:遞歸調(diào)用