generator01.py 292 B

123456789101112131415161718192021
  1. def fib():
  2. a, b = 0, 1
  3. while True:
  4. a, b = b, a + b
  5. yield a
  6. def even(gen):
  7. for val in gen:
  8. if val % 2 == 0:
  9. yield val
  10. def main():
  11. gen = even(fib())
  12. for _ in range(10):
  13. print(next(gen))
  14. if __name__ == '__main__':
  15. main()