Как @cache и выход из работают в рекурсивной функции?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как @cache и выход из работают в рекурсивной функции?

Сообщение Anonymous »

Я пытаюсь применить functools.cache к рекурсивному итератору. Однако применение декоратора полностью меняет (уменьшает) результат. Что происходит под капотом?
Код:
from functools import cache

@cache
def Blinking(v, i, N):
if i >= N:
yield v
elif v == 0:
yield from Blinking(1, i+1, N)
elif len(str(v)) % 2 == 0:
s = str(v)
yield from Blinking(int(s[:len(s)//2]), i+1, N)
yield from Blinking(int(s[len(s)//2:]), i+1, N)
else:
yield from Blinking(v*2024, i+1, N)

res = 0
for v in [0]:
for _ in Blinking(v, 0, 25):
res += 1

print(res)


Подробнее здесь: https://stackoverflow.com/questions/792 ... e-function
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»