# Решение задачи #3 - Последовательность Фибоначчи

fib_seq = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]    # список с первыми десятью числами из последовательности Фибоначчи
lim = 10000000                                  # заданный лимит значения числа из последовательности ФИбоначчи
fib_current = 0                                 # текущее значение элемента последовательности Фибоначчи

# формирование последовательности Фибоначчи с заданным лимитом

while fib_seq[-1] <= lim:
    fib_current = fib_seq[-2] + fib_seq[-1]     # вычисление нового элемента списка
    fib_seq.append(fib_current)                 # добавление нового элемента в список
if fib_seq[-1] > lim:                           # несмотря на очевидность выполнения данного условия, культура программирования требует его проверить
    fib_seq.remove(fib_seq[-1])                 # удаление последнего элемента списка,т.к. он больше заданного лимита значения

print(f'Общее количество элементов последовательности Фибоначчи: {len(fib_seq)}')

# формирование списка четных элементов последовательности Фибоначчи

even_fib_seq = []                               # создание пустого списка четных значений
for i in fib_seq:
    if i % 2 == 0:                              # проверка условия четности элемента
        even_fib_seq.append(i)                  # добавление элемента в список четных значений

print(f'Сумма всех четных элементов последовательности Фибоначчи: {sum(even_fib_seq)}')
print(f'Все четные элементы последовательности Фибоначчи: {even_fib_seq}')
print(f'Результат вычисления предпоследнего элемента последовательности Фибоначчи: {sum(fib_seq[:-1])-sum(fib_seq[:-2])}')
