class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' Write a complete python file that will print the tree (1 (2 (3 4 5 6) (7 8)) (9 10 (11 12))) Call the root of the tree 'root'. Then print out str(root).
class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' Write a complete python file that will print the tree (1 (2 (3 4 5 6) (7 8)) (9 10 (11 12))) Call the root of the tree 'root'. Then print out str(root).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' # Create the root node root = Node("1") # Create the first level children node2 = Node("2", parent=root) node9 = Node("9", parent=root) # Create children of node2 node3 = Node("3", parent=node2) node7 = Node("7", parent=node2) # Create children of node3 node4 = Node("4", parent=node3) node5 = Node("5", parent=node3) node6 = Node("6", parent=node3) # Create children of node7 node8 = Node("8", parent=node7) # Create children of node9 node10 = Node("10", parent=node9) node11 = Node("11", parent=node9) # Create children of node11 node12 = Node("12", parent=node11) # Print the tree print(root) |
I extracted the following code from that output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' # Create the root node root = Node("1") # Create the first level children node2 = Node("2", parent=root) node9 = Node("9", parent=root) # Create children of node2 node3 = Node("3", parent=node2) node7 = Node("7", parent=node2) # Create children of node3 node4 = Node("4", parent=node3) node5 = Node("5", parent=node3) node6 = Node("6", parent=node3) # Create children of node7 node8 = Node("8", parent=node7) # Create children of node9 node10 = Node("10", parent=node9) node11 = Node("11", parent=node9) # Create children of node11 node12 = Node("12", parent=node11) # Print the tree print(root) |
Running the following program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' # Create the root node root = Node("1") # Create the first level children node2 = Node("2", parent=root) node9 = Node("9", parent=root) # Create children of node2 node3 = Node("3", parent=node2) node7 = Node("7", parent=node2) # Create children of node3 node4 = Node("4", parent=node3) node5 = Node("5", parent=node3) node6 = Node("6", parent=node3) # Create children of node7 node8 = Node("8", parent=node7) # Create children of node9 node10 = Node("10", parent=node9) node11 = Node("11", parent=node9) # Create children of node11 node12 = Node("12", parent=node11) # Print the tree print(root) |
(1 (2 (3 4 5 6) (7 8)) (9 10 (11 12)))
Testing if the previous output contains the string (1 (2 (3 4 5 6) (7 8)) (9 10 (11 12)))
: True
class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' Write a complete python file that will print the tree (1 (2 (3 4 5 6) (7 8)) (9 10 (11 12))) Call the root of the tree 'root'. Then print out str(root).
class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' Write a complete python file that will print the tree (1 (2 (3 4 5 6) (7 8)) (9 10 (11 12))) Call the root of the tree 'root'. Then print out str(root).
Here's a complete Python file that creates the tree and prints it:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' # Create the root node root = Node("1") # Create the first subtree (2 (3 4 5 6) (7 8)) node2 = Node("2", root) node3 = Node("3", node2) Node("4", node3) Node("5", node3) Node("6", node3) node7 = Node("7", node2) Node("8", node7) # Create the second subtree (9 10 (11 12)) node9 = Node("9", root) Node("10", node9) node11 = Node("11", node9) Node("12", node11) # Print the tree print(root) |
1 | (1 (2 (3 4 5 6) (7 8)) (9 10 (11 12))) |
I extracted the following code from that output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' # Create the root node root = Node("1") # Create the first subtree (2 (3 4 5 6) (7 8)) node2 = Node("2", root) node3 = Node("3", node2) Node("4", node3) Node("5", node3) Node("6", node3) node7 = Node("7", node2) Node("8", node7) # Create the second subtree (9 10 (11 12)) node9 = Node("9", root) Node("10", node9) node11 = Node("11", node9) Node("12", node11) # Print the tree print(root) |
Running the following program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | class Node: def __init__(self, name, parent=None): self.name = name self.parent = parent self.children = [] if parent: self.parent.children.append(self) def __repr__(self): if self.children == []: return self.name return '('+self.name + ' ' + ' '.join(repr(c) for c in self.children)+')' # Create the root node root = Node("1") # Create the first subtree (2 (3 4 5 6) (7 8)) node2 = Node("2", root) node3 = Node("3", node2) Node("4", node3) Node("5", node3) Node("6", node3) node7 = Node("7", node2) Node("8", node7) # Create the second subtree (9 10 (11 12)) node9 = Node("9", root) Node("10", node9) node11 = Node("11", node9) Node("12", node11) # Print the tree print(root) |
(1 (2 (3 4 5 6) (7 8)) (9 10 (11 12)))
Testing if the previous output contains the string (1 (2 (3 4 5 6) (7 8)) (9 10 (11 12)))
: True