From befbe0d31d14c0a9f5e0ca63535e7a237fa9621f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jure=20=C5=A0orn?= Date: Tue, 25 Dec 2018 23:13:34 +0100 Subject: [PATCH] Eval --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f6175b8..32192f5 100644 --- a/README.md +++ b/README.md @@ -1007,17 +1007,17 @@ Eval ### Detailed ```python -import ast -from ast import Num, BinOp, UnaryOp, parse +from ast import Num, BinOp, UnaryOp, parse, Add, Sub, Mult, Div, Pow, BitXor, \ + USub import operator as op -operators = {ast.Add: op.add, - ast.Sub: op.sub, - ast.Mult: op.mul, - ast.Div: op.truediv, - ast.Pow: op.pow, - ast.BitXor: op.xor, - ast.USub: op.neg} +operators = {Add: op.add, + Sub: op.sub, + Mult: op.mul, + Div: op.truediv, + Pow: op.pow, + BitXor: op.xor, + USub: op.neg} def evaluate(expression): root = parse(expression, mode='eval') @@ -1034,7 +1034,7 @@ def eval_node(node): left, right = eval_node(node.left), eval_node(node.right) return operator(left, right) elif type_ == UnaryOp: - operand = eval_node(node.operand) + operand = eval_node(node.operand) return operator(operand) ```