Можно ли значения которая выдает функция засуть в массив и посчитать их сумму?

import math
def fibonachi():
    first=1
    last=2
    c=0
    print(last)
    while c<4000000:
        c=first+last
        first=last
        last=c
        if c%2==0:
            print(c)

fibonachi() """выдает значения 2 8 34 144 610 2584 10946 46368 196418 832040 3524578 можно ли эти значения засунуть в массив и посчитать их сумму?"""


Ответы (4 шт):

Автор решения: Alioshca Z

Попробуйте так, если я правильно понимаю:

import math
def fibonachi():
    mass = []
    first=1
    last=2
    c=0
    print(last)
    while c<4000000:
        c=first+last
        first=last
        last=c
        if c%2==0:
            mass.append(c)
    print(f'Сумма: {sum(mass)}')
    return sum(mass)
→ Ссылка
Автор решения: becouse

Вот так можно

def fib(n):
    res=[2]
    a=1
    b=2
    c=0
    while c<=n:
        c=a+b
        a=b
        b=c
        if c%2==0:
            res.append(c)
    return res

print(fib(200))
print(sum(fib(200)))
→ Ссылка
Автор решения: Denis640Kb
import math
list1 = []
def fibonachi():
    first=1
    last=2
    c=0
    print(last)
    while c<4000000:
        c=first+last
        first=last
        last=c
        if c%2==0:
            list1.append(c)

fibonachi()
val = 0
for i in list1:
    val += i
print(val)
→ Ссылка
Автор решения: Xander
import math

def fibonachi():
    first = 1
    last = 2
    c = 0
    while c < 4000000:
        c = first + last
        first = last
        last = c
        if c % 2 == 0:
            yield c

s = sum(fibonachi())

print(s)
→ Ссылка