Give the summation of all even numbers in a Fibonacci sequence up to, but not including, the maximum value.

The Fibonacci sequence is a series of numbers where the next value is the addition of the previous two values. The series starts with 0 and 1:

0 1 1 2 3 5 8 13 21...

For example:
```python
eve_fib(0)==0
eve_fib(33)==10
eve_fib(25997544)==19544084
```

Difficulty: introductory

Starter code:

def even_fib(m):
	

Solutions:
def even_fib(m):
    x,y = 0, 1
    counter = 0
    while y < m:
        if y % 2 == 0:
            counter += y
        x,y = y, x+ y
    return counter

def even_fib(m):
    a, b, total = 1, 1, 0
    
    while a < m:
        if a % 2 == 0:
            total += a
        a, b = b, a + b
    
    return total

def even_fib(m):
    """Returns the sum of all even numbers in a Fibonacci sequence
    up to the maximum value m (non-inclusive of m)."""
    
    a, b, evens_sum = 0, 1, 0

    while (a + b) < m:
        if (a + b) % 2 == 0:
            evens_sum += (a + b)

        a, b = b, (a + b)

    return evens_sum

def even_fib(m):
    a,b,c=0,1,0
    while b<m:
        if b%2==0: c+=b
        a,b=b,a+b
    return c

from itertools import takewhile


def efib():
    a, b = 0, 1
    while True:
        if a % 2 == 0:
            yield a
        a, b = b, a + b


def even_fib(m):
    return sum(takewhile(lambda x: x < m, efib()))

from bisect import bisect_left

def gen():
    x, y = 0, 1
    while True:
        yield y
        x, y = y, x+y
fib, memo, res = gen(), [0], [0]

def even_fib(m):
    while m > memo[-1]:
        val = next(fib)
        if val % 2 == 0:
            memo.append(val)
            res.append(res[-1] + val)
    return m > 0 and res[bisect_left(memo, m)-1]

def even_fib(m):
    result = [0,1]
    while result[-1] < m:
        result.append(sum(result[-2:]))
    return sum(num for num in result if num%2 == 0 and num < m)

def even_fib(m):
    a, b = 0, 1
    sum = 0
    while a < m:
        if a % 2 == 0:
            sum += a
        a, b = b, a + b
    return sum

def even_fib(m):
    s=0
    a,b=1,1
    while a<m:
      if a%2==0:
        s+=a
      a,b=b,a+b
    return s

def even_fib(m):
    a, b = 0, 1
    summ = 0
    while b < m:
        if b % 2 == 0:
            summ += b
        a,b = b, a + b
    return summ