Распечатайте визуальную рекурсиюPython

Программы на Python
Ответить
Anonymous
 Распечатайте визуальную рекурсию

Сообщение Anonymous »

У меня есть код, выполняющий рекурсию, но я хочу иметь возможность наблюдать за рекурсиями, но иллюстрировать глубину каждой рекурсии, а также то, когда она возвращается. Просто что-то простое, как показано ниже. Не знаю, где мне нужно поставить пробелы или табуляции, чтобы это произошло, и я использую строку map_str, а затем распечатываю ее в конце. См. код и пример вывода.

def get_process_parents(batchDate, late_process):
global late_parents
global map_str
process_depends = []
#logging.info('late_process: %s ' % late_process)
process_depends = getprocessDependencies(batchDate, late_process)
late_parents[late_process.get('name')] = process_depends
map_str += (' %s ---> %s \n------>\n' % (late_process.get('name'), process_depends))
#logging.info('Late_process Name: %s ---> Depends: %s ' % (late_process.get('name'),process_depends))
if not process_depends:
#logging.info('No more depends: %s' % late_process.get('name'))
late_parents_process.add(late_process.get('name'))
map_str += (' %s ---> %s\n ---->\n' % (late_process.get('name'), process_depends))
else:
for process_depend in process_depends:
process = getprocessByName(batchDate, process_depend)
#logging.info('process_depend %s --> state: %s ' % (process_depend, process.get('state')))
if process.get('state') == 'Done':
#logging.info('process depend DONE: %s' % process_depend)
map_str += (' %s Status: %s\n ---->\n' % (process_depend, process.get('state')))

else:
late_parents_process.add(process.get('name'))
get_process_parents(batchDate, getprocessByName(batchDate,process_depend))


Выход:

Как я хочу, чтобы это выглядело

Process_name ----> ['process dependencies 1', 'process dependencies 2']
------>process dependencies 1 ----> [process dependencies 3, dependencies 4]
------>dependencies 3 -----> []
------>dependencies 4 -----> []
------>process dependencies 2 ----> [process dependencies 5]
------>process dependencies 5 -----> [process dependencies 6]
----->process dependencies 6 -----> []


Подробнее здесь: https://stackoverflow.com/questions/262 ... sion-trace
Ответить

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

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

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

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

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