分享

Python基础训练100题-6

 gfergfer 2023-08-07 发布于辽宁
  • 实例026:递归求阶乘

  • 实例027:递归输出

  • 实例028:递归求等差数列

  • 实例029:反向输出

  • 实例030:回文数

实例026:递归求阶乘

题目: 利用递归方法求5!。

程序分析: 递归调用即可。

def factorial(n): return n*factorial(n-1) if n>1 else 1print(factorial(5))

实例027:递归输出

题目: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

程序分析: 递归真是蠢方法。

def rec(string):    if len(string)!=1:        rec(string[1:])    print(string[0],end='') rec(input('string here:'))

实例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位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

程序分析:学会分解出每一位数,用字符串的方法总是比较省事。

n=int(input('输入一个正整数:'))n=str(n)print('%d位数'%len(n))print(n[::-1])

实例030:回文数

题目: 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

程序分析 :用字符串比较方便,就算输入的不是数字都ok。

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('是回文串')

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多