Preorder traversal in python: suppressing output -


i have tree exists tree object:

class tree:     ...  class node:     ...     self.branch_type='node'     self.children=[] # list of immediate children     ...  class leaf:     ...     self.branch_type='leaf'     ... 

this representation written else, i'm building on top of.

i've written preorder_traverse() function so:

def preorder_traverse(node, preorder_ls, verbose=false):     preorder_ls.append(node)     if node.branch_type == "node":         if verbose:             print(node)         preorder_traverse(node.children[0], preorder_ls)         preorder_traverse(node.children[1], preorder_ls)     elif node.branch_type == "leaf":         if verbose:             print(node, node.name) 

usage:

>>>preorder_ls = [] # init empty list filled >>>preorder_traverse(node, preorder_ls) 

this populate preorder_ls, desired, prints out objects whenever call preorder_traverse! weird because happens if set verbose false. there quirk way return works, or how recursive algorithms called in python i'm missing? i'm looking suppress output being printed screen.


Comments

Popular posts from this blog

ios - MKAnnotationView layer is not of expected type: MKLayer -

ZeroMQ on Windows, with Qt Creator -

unity3d - Unity SceneManager.LoadScene quits application -