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)
上一篇:FP-21 函数式程序设计


下一篇:第四十七题讲解攻防世界之easyCpp