ПОСЛЕДОВАТЕЛЬНОСТЬ ХОФШТАДТЕРА PYTHON ГЕНЕРАТОР
Последовательность Хофштадтера (Hofstadter sequence) – это последовательность чисел, которую можно определить следующим образом:
a(0) = 0
a(n) = n - a(a(n - 1)), n > 0
В Python, можно сгенерировать эту последовательность при помощи генераторов:
def hofstadter_sequence():
a = [0]
i = 1
while True:
yield a[-1]
a.append(i - a[a[-1]])
i += 1
Чтобы сгенерировать первые 10 элементов, необходимо выполнить следующий код:
for i, elem in enumerate(hofstadter_sequence()):
if i >= 10:
break
print(elem)
Этот код выведет следующие числа:
0
1
1
2
2
3
4
4
5
5
49 Функция генератор. Создание генератора при помощи yield Python
48 Генераторы и итераторы. Выражения -генераторы в Python
#24. Итератор и итерируемые объекты. Функции iter() и next() - Python для начинающих
Yield Python. Полный урок по генераторам Python с нуля
46 Генераторы списков Python - List comprehension
Чем Генераторы отличаются от Итераторов в Python?
Iterators vs. Generators in Python : Data Science Code
Новые материалы:
- Модели в django
- Aiofiles python примеры
- Gpu вычисления на python
- Полнотекстовый поиск django
- Python sql курсы
- Module object is not callable python ошибка
- Python и css
- Python парсер прокси
- Flask не видит templates
- Горячие клавиши python
- Pygame error failed loading libmpg123 0 dll не найден указанный модуль
- Курсы программирования python
- Гауссовский шум python
- Django redirect не работает
- Python вывод в одну строку