puzzle8.py (1152B)
1 with open('files/puzzle8.txt') as f: 2 instructions = f.readlines() 3 4 registers = {} 5 max_register = 0 6 7 for line in instructions: 8 tokens = line.split(" ") 9 10 if tokens[0] not in registers: 11 registers[tokens[0]] = 0 12 if tokens[4] not in registers: 13 registers[tokens[4]] = 0 14 15 value = int(tokens[2]) 16 if tokens[1] == "dec": 17 value *= -1 18 19 modify_register = False 20 21 if tokens[5] == "<": 22 modify_register = registers[tokens[4]] < int(tokens[6]) 23 if tokens[5] == ">": 24 modify_register = registers[tokens[4]] > int(tokens[6]) 25 if tokens[5] == "<=": 26 modify_register = registers[tokens[4]] <= int(tokens[6]) 27 if tokens[5] == ">=": 28 modify_register = registers[tokens[4]] >= int(tokens[6]) 29 if tokens[5] == "==": 30 modify_register = registers[tokens[4]] == int(tokens[6]) 31 if tokens[5] == "!=": 32 modify_register = registers[tokens[4]] != int(tokens[6]) 33 34 if modify_register: 35 registers[tokens[0]] += value 36 if max(registers.values()) > max_register: 37 max_register = max(registers.values()) 38 39 print max(registers.values()) 40 print max_register