遞歸:函數(shù)調(diào)用自己本身
遞歸的核心:1)遞歸推導(dǎo)式2)遞歸終止條件
不過雖然遞歸很方便,但是盡量少用,以防棧溢出,而且會計算效率不高。
'''
例題:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。
問第4個人歲數(shù),他說比第3個人大2歲。
問第三個人,又說比第2人大兩歲。
最后問第一個人,他說是10歲。
請問第五個人多少歲?
'''
'n1n2n3n4n5'
#10n1+2n2+2n3+2n4+2
#for循環(huán)
defage(n):
age=10
foriinrange(1,n):
age=age+2
print('最后一個人,是%s歲'%age)
###遞歸
defage2(n):
ifn==1:
return10
else:
returnage2(n-1)+2
##要計算age2(n)的值,程序會先去計算age2(n-1)的值,要計算age2(n-1)的值,程序要計算age2(n-2)的值...直到n==1的時候,程序算出了age2(1)的值,再把值拿到age2(2)里面...以此類推,算出age2(n)
###階層1!=1*12!=2*13!=3*2*14!=4*3*2*1
#1!2!=2*1!3!=3*2!4!=4*3!
#推導(dǎo)式:n!=n*(n-1)!
#終止條件:n==1return1
defjie(n):
ifn==1:
return1
else:
returnjie(n-1)*n
以上內(nèi)容為大家介紹了Python遞歸函數(shù),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。