27 lines
574 B
Python
27 lines
574 B
Python
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
import re
|
|
|
|
input_file = sys.argv[1]
|
|
|
|
with open(input_file) as fd:
|
|
lines = [line.rstrip() for line in fd.readlines()]
|
|
|
|
t = 0
|
|
en = True
|
|
reg = r"mul\(([0-9]+),([0-9]+)\)|do\(\)|don't\(\)"
|
|
for line in lines:
|
|
for match in re.finditer(reg, line):
|
|
all = match.group(0)
|
|
if all == "do()":
|
|
en = True
|
|
elif all == "don't()":
|
|
en = False
|
|
elif en:
|
|
ast, bst = match.group(1), match.group(2)
|
|
a, b = int(ast), int(bst)
|
|
m = a * b
|
|
t += m
|
|
print(t)
|