美文网首页
习题26-29

习题26-29

作者: 小董不太懂 | 来源:发表于2019-09-14 13:26 被阅读0次
    • 使用递归法计算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='')
    

    相关文章

      网友评论

          本文标题:习题26-29

          本文链接:https://www.haomeiwen.com/subject/kqcdyctx.html