CCCPaste

Finding sum first 4 000 000 numbers from fibonacci

# 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()))