Пошаговый код с подробным объяснением.
Разумеется, сам ряд Фибоначчи можно убрать из кода, а также вывод самих рядов.
a = 1 # задаем первые значения чисел Фибоначчи
b = 2
fibo = [1,2] # создаем массив чисел Фибоначчи
fibo2 = [] # создаем массив четных чисел фибоначчи
while b < 4*10**6:
if a % 2 == 0: # заполняем массив четных чисел фибоначчи
fibo2.append(a)
if b % 2 == 0:
fibo2.append(b)
a = a + b # "третий" член ряда
b = a + b # "четвертый" член
if a > 4*10**6: # прерываем цикл, если значение а превысило 4 млн
break
fibo.append(a) # переносим третий член в массив чисел фибоначчи
fibo.append(b) # аналогично четвертый член
print(fibo) # вывод чисел фибоначчи до 4 млн
print(fibo2) # вывод четных чисел фибоначчи до 4 млн
print(sum(fibo2)) # искомая сумма
На выходе получится:
[1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578]
[2, 8, 34, 144, 610, 2584, 10946, 46368, 196418, 832040, 3524578]
4613732