from lib import get_data data = """123 328 51 64 45 64 387 23 6 98 215 314 * + * + """ data = get_data(__file__) def mul(xs): r = 1 for x in xs: r *= x return r lines = zip(*[line.split() for line in data.splitlines()]) r = 0 for xs in lines: xs, op = xs[:-1], xs[-1] xs = list(map(int, xs)) if op == "+": r += sum(xs) elif op == "*": r += mul(xs) else: assert False, "Unexpected op" print(r)