zoukankan      html  css  js  c++  java
  • day04_04 斐波那契

    __author__ = "Alex Li"
    
    '''
    def fib(max): #10
        n, a, b = 0, 0, 1
        while n < max: #n<10
            #print(b)
            # 把fib函数变成generator,只需要把print(b)改为yield b就可以了
            yield b
            a, b = b, a + b
            #a = b          a =1, b=2--> a=b --> a=2,
            # b = a +b      b = 2+2 = 4
            n = n + 1
            
    f= fib(100)
    print("---------dddd")
    print(f.__next__())
    print("======")
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    print(f.__next__())
    
    
    print("====start loop======")
    for i in f:
       print(i)
    '''
    
    '''
    def fib(max): #10
        n, a, b = 0, 0, 1
        while n < max: #n<10
            #print(b)
            # 把fib函数变成generator,只需要把print(b)改为yield b就可以了
            yield b
            a, b = b, a + b
            #a = b          a =1, b=2--> a=b --> a=2,
            # b = a +b      b = 2+2 = 4
            n = n + 1
        return '----no more value----'
    
    
    f = fib(10)
    
    # print("---------dddd")
    # print(f.__next__())
    # print("======")
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    # print(f.__next__())
    
    print("====start loop======")
    #for i in f:
    #    print(i)
    '''
    
    #异常处理
    def fib(max): #10
        n, a, b = 0, 0, 1
        while n < max: #n<10
            #print(b)
            # 把fib函数变成generator,只需要把print(b)改为yield b就可以了
            yield b
            a, b = b, a + b
            #a = b          a =1, b=2--> a=b --> a=2,
            # b = a +b      b = 2+2 = 4
            n = n + 1
        return '----no more value----'
    
    
    f = fib(10)
    while True:
        try:
            x = next(f)
            print('f:', x)
        except StopIteration as e:
            print('Generator return value:', e.value)   # return '----no more value----'
            break
    
    print("====start loop======")
    #for i in f:
    #    print(i)
    
  • 相关阅读:
    第二十九课 循环链表的实现
    第二十八课 再论智能指针(下)
    第二十七课 再论智能指针(上)
    第二十六课 典型问题分析(Bugfix)
    普通new和placement new的重载
    leetcode 581. Shortest Unsorted Continuous Subarray
    leetcode 605. Can Place Flowers
    leetcode 219. Contains Duplicate II
    leetcode 283. Move Zeroes
    leetcode 217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/netflix/p/14854401.html
Copyright © 2011-2022 走看看