50 lines
920 B
Python
50 lines
920 B
Python
import numpy as np
|
|
|
|
def solve(index, line):
|
|
val = 0
|
|
|
|
while index < len(line):
|
|
|
|
print(index)
|
|
|
|
if line[index] == '(':
|
|
val += solve(index + 1, line)
|
|
elif line[index] == ')':
|
|
return val
|
|
|
|
elif line[index] == '+':
|
|
if line[index + 1] == '(':
|
|
val += solve(index + 2, line)
|
|
else:
|
|
val += int(line[index + 1])
|
|
elif line[index] == '*':
|
|
val *= solve(index + 1, line)
|
|
|
|
else:
|
|
val += line[index]
|
|
|
|
index += 1
|
|
|
|
return val
|
|
|
|
|
|
def part1():
|
|
file = open("input_test.txt")
|
|
lines = [line.strip() for line in file.readlines()]
|
|
|
|
sum = 0
|
|
for line in lines:
|
|
sum += solve(0, line.split(' '))
|
|
|
|
print(f"Part 1: {sum}")
|
|
|
|
|
|
def part2():
|
|
file = open("../day10/input_test.txt")
|
|
print(f"Part 2:")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
part1()
|
|
part2()
|