构建递归调用树并将其保存为svg文件。
RecursionTree的Python项目详细描述
递归树
将递归函数转换为图形形式。
安装:
pip install RecursionTree
用法:
importrandomfromRecursionTreeimportrecursion_treescientific_style={'draw_boundary':False,'color_background':'white','color_num_background':'white','color_node_body':'white','color_node_stroke':'black','color_text':'black','color_connection':'black','node_stroke_bezier':False}@recursion_tree(scientific_style)deffibo(x:int)->int:return1ifxin[1,2]elsefibo(x=x-1)+fibo(x=x-2)# No parameters mean default settings@recursion_treedefrandom_tree(x:int)->str:ifx==0:return'Dead end'for_inrange(random.randint(1,x)):random_tree(x=x-1)if__name__=='__main__':# Run out target function and save resultsfibo(x=5)random_tree(x=4)
只需将“递归树”修饰符添加到任何递归函数。 结果将自动保存为svg文件。 其他设置可以通过settings.py实现 或者把字典传给装饰工。
默认样式:
科学风格:
带边界的默认样式: