def cli_main() -> None: input_funcs = [splitstriplines, partial(lmap, int), incl_ends] data = load_and_process_input(INPUT, input_funcs) run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two) answer_one = process_one(data) assert answer_one == ANSWER1 print("Answer one:", answer_one) answer_two = process_two(data) assert answer_two == ANSWER2 print("Answer two:", answer_two)
def cli_main() -> None: input_funcs = [str.strip] data = load_and_process_input(INPUT, input_funcs) run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two) answer_one = process_one(data) assert answer_one == ANSWER1 print("Answer one:", answer_one) answer_two = process_two(data) assert answer_two == ANSWER2 print("Answer two:", answer_two)
def cli_main() -> None: input_funcs = [process_input] data = load_and_process_input(INPUT, input_funcs) tprocess2 = partial(process_two, fieldfunc=lambda x: True) run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, tprocess2) answer_one = process_one(data) assert answer_one == ANSWER1 print("Answer one:", answer_one) answer_two = process_two(data) assert answer_two == ANSWER2 print("Answer two:", answer_two)
def cli_main() -> None: input_funcs = [splitstriplines, lines_to_points] data = load_and_process_input(INPUT, input_funcs) initial_points = data.copy() run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two) answer_one = process_one(data) assert answer_one == ANSWER1 print("Answer one:", answer_one) answer_two = process_two(initial_points) assert answer_two == ANSWER2 print("Answer two:", answer_two)
def cli_main() -> None: input_funcs = [splitstriplines, partial(lmap, int)] data = load_and_process_input(INPUT, input_funcs) answer_one = process_one(data) assert answer_one == ANSWER1 print("Answer one:", answer_one) process_two = partial(narrow_array, answer_one) # Can't run tests until after first half is solved because the second half # depends on the answer to the first half. run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two) answer_two = process_two(data) assert answer_two == ANSWER2 print("Answer two:", answer_two)
def cli_main() -> None: input_funcs = [ partial(splitstrip, sep="\n\n"), partial(lmap, splitstrip), partial(lmap, parse_passport), ] data = load_and_process_input(INPUT, input_funcs) run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two) answer_one = process_one(data) assert answer_one == ANSWER1 print("Answer one:", answer_one) answer_two = process_two(data) assert answer_two == ANSWER2 print("Answer two:", answer_two)
def cli_main() -> None: input_funcs = [ splitstriplines, partial(lmap, list), lambda lst: list(zip(*lst)), # make it so that (x, y) is lst[x][y]. seats_and_floor, ] data = load_and_process_input(INPUT, input_funcs) run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two) pre_one = datetime.datetime.now() answer_one = process_one(data) assert answer_one == ANSWER1 print("Answer one:", answer_one, datetime.datetime.now() - pre_one) pre_two = datetime.datetime.now() answer_two = process_two(data) assert answer_two == ANSWER2 print("Answer two:", answer_two, datetime.datetime.now() - pre_two)
def cli_main() -> None: input_funcs = [splitstriplines] data = load_and_process_input(INPUT, input_funcs) run_tests(TEST, TA1, TA2, ANSWER1, input_funcs, process_one, process_two) answer_one = process_one(data) answer_two = process_two(data) try: if ANSWER1 is not None: assert answer_one == ANSWER1 print("Answer one:", answer_one) if ANSWER1 is not None: answer_two = process_two(data) if ANSWER2 is not None: assert answer_two == ANSWER2 print("Answer two:", answer_two) except AssertionError: pdb.set_trace()