Skip to content

Commit 19d4425

Browse files
committed
Eval
1 parent 2dba08f commit 19d4425

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,16 +1110,19 @@ def evaluate(expression):
11101110
return eval_node(root.body)
11111111

11121112
def eval_node(node):
1113-
type_ = type(node)
1114-
if type_ == Num:
1113+
node_type = type(node)
1114+
if node_type == Num:
11151115
return node.n
1116-
if type_ not in [BinOp, UnaryOp]:
1116+
if node_type not in [BinOp, UnaryOp]:
11171117
raise TypeError(node)
1118-
operator = legal_operators[type(node.op)]
1119-
if type_ == BinOp:
1118+
op_type = type(node.op)
1119+
if op_type not in legal_operators:
1120+
raise TypeError(f'Illegal operator {node.op}')
1121+
operator = legal_operators[op_type]
1122+
if node_type == BinOp:
11201123
left, right = eval_node(node.left), eval_node(node.right)
11211124
return operator(left, right)
1122-
elif type_ == UnaryOp:
1125+
elif node_type == UnaryOp:
11231126
operand = eval_node(node.operand)
11241127
return operator(operand)
11251128
```

0 commit comments

Comments
 (0)