美文网首页
python第二次作业2019-03-21

python第二次作业2019-03-21

作者: 愉快先生 | 来源:发表于2019-03-21 20:10 被阅读0次
    image.png
    '''要求能输出第N项,默认输出第10项'''
    #这是循环方法:
    def fib1(n=10):
        l=range(2,20)
        list=[0,1]
        for i in l:
            list.append(list[i-1]+list[i-2])
        return print(list[n])
    fib1(1)
    
    
    #下面是递归方法:
    #很难受,搞了半天,不能在return里面打印,在外面打印。很搞笑,心情复杂
    #但是为什么不能 print(fib2(n - 1) + fib2(n - 2)) ???????
    def fib2(n=10):
        if n==1:
            return 1
        elif n==2:
            return 1
        return  fib2(n - 1) + fib2(n - 2)
    print(fib2(3))
    
    
    '''第二道题:求阶乘,这里是函数,在test.py中是调用这个函数'''
    #循环方法:
    def fact1(n):
        if (n == 0 or n == 1):
            return 1
        else:
            product=1
            while n >=2:
                product=product*n * (n - 1)
                n = n - 2
            return product
        #return fact1(n)
    print(fact1(1))
    
    
    #递归写法:
    def fact2(n):
        if (n==0 or n==1):
            return 1
        else:
            return n*fact2(n-1)
       # return fact2(n)
    print(fact2(1))
    
    

    相关文章

      网友评论

          本文标题:python第二次作业2019-03-21

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