实例026:递归求阶乘 题目: 利用递归方法求5!。 程序分析: 递归调用即可。 def factorial(n): return n*factorial(n-1) if n>1 else 1 print(factorial(5)) 实例027:递归输出 题目: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 程序分析: 递归真是蠢方法。
实例028:递归求等差数列 题目: 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大? 程序分析: 就一等差数列。 def age(n): if n==1: return 10 return 2 age(n-1) print(age(5)) 实例029:反向输出 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 程序分析:学会分解出每一位数,用字符串的方法总是比较省事。
实例030:回文数 题目: 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 程序分析 :用字符串比较方便,就算输入的不是数字都ok。 n=input('随便你输入啥啦:') a=0 b=len(n)-1 flag=True while a<b: if n[a]!=n[b]: print('不是回文串') flag=False break a,b=a 1,b-1 if flag: print('是回文串') |
|