Unsupported operand type(s) for +=: 'int' and 'NoneType'
Unsupported operand type(s) for +=: 'int' and 'NoneType'
Ошибка при попытке найти сумму всех узлов. Почему?
class Node(object):
def __init__(self, root):
self.right = None
self.left = None
self.root = root
def put(self, data):
if self.root:
if data < self.root:
if self.left is None:
self.left = Node(data)
else:
self.left.put(data)
if data > self.root:
if self.right is None:
self.right = Node(data)
else:
self.right.put(data)
else:
self.root = data
def printree(self):
if self.left:
self.left.printree()
print(self.root)
if self.right:
self.right.printree()
def sum_tree(self):
tree_sum = 0
if self.left:
tree_sum += self.left.sum_tree()
if self.right:
tree_sum += self.right.sum_tree()
return tree_sum
def mass():
with open('_input_.txt') as inp:
res = list(map(int, inp.read()[1:].split()))
return res[1:]
arr = mass()
arr.sort()
d = Node(arr[len(arr)//2])
for el in arr:
d.put(el)
d.printree()
print(d.sum_tree())