實例026:遞歸求階乘 題目: 利用遞歸方法求5!。 程序分析: 遞歸調(diào)用即可。 def factorial(n): return n*factorial(n-1) if n>1 else 1print(factorial(5))實例027:遞歸輸出 題目: 利用遞歸函數(shù)調(diào)用方式,將所輸入的5個字符,以相反順序打印出來。 程序分析: 遞歸真是蠢方法。
實例028:遞歸求等差數(shù)列 題目: 有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大? 程序分析: 就一等差數(shù)列。 def age(n): if n==1: return 10 return 2 age(n-1)print(age(5)) 實例029:反向輸出 題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。 程序分析:學(xué)會分解出每一位數(shù),用字符串的方法總是比較省事。
實例030:回文數(shù) 題目: 一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。 程序分析 :用字符串比較方便,就算輸入的不是數(shù)字都o(jì)k。 n=input('隨便你輸入啥啦:')a=0b=len(n)-1flag=Truewhile a<b: if n[a]!=n[b]: print('不是回文串') flag=False break a,b=a 1,b-1if flag: print('是回文串') |
|
|