pointer_shift = op_add(input, i_pointer) if opcode == 2: pointer_shift = op_mult(input, i_pointer) if opcode == 3: pointer_shift = op_input(input, i_pointer) if opcode == 4: pointer_shift = op_output(input, i_pointer) if opcode == 5: pointer_shift = op_jmp_if_true(input, i_pointer) if opcode == 6: pointer_shift = op_jmp_if_false(input, i_pointer) if opcode == 7: pointer_shift = op_less_than(input, i_pointer) if opcode == 8: pointer_shift = op_equals(input, i_pointer) i_pointer += pointer_shift return (input[0]) if __name__ == '__main__': input = Input(5).lines() input = [int(string) for string in input[0].split(',')] input_value = 1 program(input.copy()) print(f'Part 2:') input_value = 5 program(input.copy())
input_len = len(input) while i_pointer < input_len: opcode = input[i_pointer] if opcode == 99: break if opcode == 1: pointer_shift = op_add(input, i_pointer) if opcode == 2: pointer_shift = op_mult(input, i_pointer) i_pointer += pointer_shift return(input[0]) if __name__ == '__main__': input = Input(2).lines() input = [int(string) for string in input[0].split(',')] test = ['1,1,1,4,99,5,6,0,99'] test = [int(string) for string in test[0].split(',')] assert part1(test) == 30 erg1 = part1(input.copy(), 12, 2) print(f'Part 1: {erg1}') erg2 = part2(input) print(f'Part 2: {erg2}')