习题26-29

  • 使用递归法计算5!(阶乘)

def factorial(n):
        if n==1 or n==0:
                return 1
        else:
                return(n*factorial(n-1))
print(factorial(5))
  • 利用递归函数调用方式,将所输入的字符以倒序打印出来。
s = input('请输入一段字符串:')
def r_str(n):
        if n==-1:
                return '\n程序终止'
        else:
                return s[n]+r_str(n-1)
n = len(s)-1
print(r_str(n))
************************************************************
请输入一段字符串:ert54
45tre
  • 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

def f(n):
        if n==1:
               return 10
        else:
                return f(n-1)+2
print(f(5))

return可以看作是一个变量

  • Python实现给一个不多于5位的正整数,求它是几位数,逆序打印这个数字。

  1. 方法一
s = input('请输入一个不多于五位的正整数:')
print('这是一个{}位数'.format(len(s)))
#进行反转
print('反转输出为{}'.format(''.join(reversed(s))))

reversed 函数返回一个反转的迭代器
reversed(seq)
seq -- 要转换的序列,可以是 tuple, string, list 或 range

  1. 方法二
s = input('请输入一个不多于五位的正整数:')
for i in range(-1,-(len(s)+1),-1):
        print(s[i],end='')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容