Browse Source

Eval

pull/3/head
Jure Šorn 6 years ago
parent
commit
befbe0d31d
1 changed files with 10 additions and 10 deletions
  1. 20
      README.md

20
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)
```

Loading…
Cancel
Save