# Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: # 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... # By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms. def get_fib(): num_old, num_new = 0, 1 while True: num_old, num_new = num_new, num_old + num_new yield num_new def get_nums(): nums = [] for num in get_fib(): if num >= 4_000_000: return nums if num % 2 == 0: nums.append(num) if __name__ == '__main__': print(sum(get_nums()))