def node(tree, List = [], max_depth = 5, counter = 0):
calls = getattr(node, "calls", 0)
print('Calls:', calls)
question = list(tree.keys())[0]
yes_answer = tree[question][0]
no_answer = tree[question][1]
if isinstance(yes_answer, dict) and isinstance(no_answer, dict):
node(yes_answer)
node(no_answer)
setattr(node, "calls", calls + 1)
else:
setattr(node, "calls", calls + 1)
if (isinstance(yes_answer, dict) and not isinstance(no_answer, dict)) | (not isinstance(yes_answer, dict) and isinstance(no_answer, dict)):
counter += 1
List.append(counter)
if isinstance(yes_answer, dict) and not isinstance(no_answer, dict):
node(yes_answer)
if not isinstance(yes_answer, dict) and isinstance(no_answer, dict):
node(no_answer)
else:
counter +=2
List.append(counter)
if calls == max_depth:
Summe_Knoten = sum(List)
print("Summe Knoten: ", Summe_Knoten)
return Summe_Knoten
Hello, could someone tell me why the Python function always outputs a NonType object? I iterate over a dict and would like the sum of the list at the end. Unfortunately, the function always resets the counter to 0, so I have inserted the list.