__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)