def fibseq(): n0, n1 = 1, 2 yield n0 yield n1 while 1: n0, n1 = n1, n0+n1 yield n1 def main(): MAX = 1000000 count = 0 for n in fibseq(): if n > MAX: break if n % 2 == 0: count += n return count if __name__ == '__main__': print main()