Саморекурсивно-итеративные функции в PythonPython

Программы на Python
Anonymous
Саморекурсивно-итеративные функции в Python

Сообщение Anonymous »

Я писал реализацию нотации Кнута со стрелкой вверх и понял, что у меня возникла проблема. Чтобы заставить его работать, мне пришлось бы итеративно собирать все больше и больше ссылок на функцию, содержащую своего рода «базу», чтобы она действительно функционировала как оригинальный алгоритм Кнута; примерно так:

Код: Выделить всё

# pseudocode
recursion = 10
def i(a,b,arrows):
for n in range(arrows):
add(add(.. # n stacked layers of add(a,b)  ..))
def add(a,b):
return a+b
Проблема в том, что, насколько я могу судить, хорошего способа сделать это не существует. Я мог бы просто создать несколько функций addn(), которые выполняли бы разные уровни рекурсии, но что в этом интересного?


Подробнее здесь: https://stackoverflow.com/questions/798 ... -in-python

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