TGViewer
Python вопросы с собеседований Python вопросы с собеседований @python_job_interview · 24.9K subscribers
Post #216 2.75K
⚡️ Задача с собеседования |: #Junior

Условие

Числа Фибоначчи представляют последовательность, получаемую в результате сложения двух предыдущих элементов.
Начинается коллекция с чисел 1 и 1.
Она достаточно быстро растет, поэтому вычисление больших значений занимает немало времени.
Создайте функцию fib(n), генерирующую n чисел Фибоначчи с минимальными затратами ресурсов.
Для реализации этой функции потребуется обратиться к инструкции yield.
Она не сохраняет в оперативной памяти огромную последовательность, а дает возможность “доставать” промежуточные результаты по одному.

Необходимо превратить функцию в генератор при помощи инструкции yield, чтобы вычисления осуществлялись не сразу, а по мере надобности.

Решение

def fib(n):
fib0 = 1
yield fib0
fib1 = 1
yield fib1
for i in range(n - 2):
fib0, fib1 = fib1, fib0 + fib1
yield fib1


# Тест
for num in fib(112121):
pass
print(num)


👉 Пишите свое решение в комментариях👇

@python_job_interview
  • 👍 7
  • ❤ 6
  • 🔥 1
More from @python_job_interview
  1. Oct 3, 2026Вопросы на собеседовании Python Senior: 100 вопросов с ответами (2026) Вопросы на собеседо…
  2. Oct 2, 2026photo post
  3. Oct 2, 2026🌟 SGLang научил чат-модели отвечать вероятностями Команда открытого движка инференса SGLa…
  4. Oct 1, 2026🖥 Примеры кода на Python 2026: лучшие практики, разбор и задачи с решениями Python пример…
  5. Sep 30, 2026🔥 Почему Python-библиотеки всё чаще пишут критичные части на Rust Например, Pydantic v2 и…
  6. Sep 29, 2026🌟 OpenScience: персональный учёный с режимом автономных экспериментов Стартап Synthetic S…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →