Files
AdventOfCode/AoC2020/code/AoC18.py
T

24 lines
543 B
Python

import ast
class RewriteName(ast.NodeTransformer):
def visit_Mult(self, node):
return ast.Add()
def visit_Sub(self, node):
return ast.Mult()
def evaluate(line):
line = line.replace("*", "-")[:-1]
line = line.replace("+", "*")
new = RewriteName().visit(ast.parse(line, mode='eval'))
return eval(compile(new, '<string>', 'eval'))
with open(r"C:\Users\Maya\Desktop\Uni\WS_2021\AoC\input18") as f:
lines = f.readlines()
print(evaluate(lines[0]))
print(sum([evaluate(l) for l in lines]))