def test_calc_value(): expect = 1588 inp, conv_form = get_data("test_input") for i in range(10): inp = iterate(inp, conv_form) assert calc_value(inp) == expect
def test_solve(nstep, inp): # expect = 2188189693529 val = solve(*get_data("test_input"), nstep) expect = count(inp) assert val == expect
def test_iterate(): expect = [ "NNCB", "NCNBCHB", "NBCCNBBBCBHCB", "NBBBCNCCNBBNBNBBCHBHHBCHB", "NBBNBNBBCCNBCNCCNBBNBBNBBBNBBNBBCBHCBHHNHCBBCBHCB" ] inp, conv_form = get_data("test_input") assert expect[0] == inp, f"failed at step {i}, " for i, expect_val in enumerate(expect[1:]): inp = iterate(inp, conv_form) assert expect_val == inp, f"failed at step {i}, "
import requests from bs4 import BeautifulSoup, Tag from database import Event, base, session from parslets import calendar_page from part1 import get_data, links calendar_page() get_data(links)
def run(): vals = get_data("input") sync_time = simulate(vals, nstep=1000, visualize=True, find_sync=True) print(sync_time)
import numpy as np from part1 import get_data, simulate expect = get_data("n2") vals, _ = simulate(get_data("test_input2"), nstep=2) print("HEU:") print(expect) print(vals) print(expect == vals)
pair_counts = count_pairs(inp) letter_counts = count(inp) print(pair_counts) for i in range(nstep): pair_counts, letter_counts = iterate(pair_counts, letter_counts, out_pairs, conv_form) most = max(letter_counts.values()) least = min(letter_counts.values()) return most - least def iterate(pair_counts, letter_counts, out_pairs, conv_form): next_counts = copy(pair_counts) print("iterate") for k, v in pair_counts.items(): out_letter = conv_form[k] letter_counts[out_letter] += v a, b = out_pairs[k] print(k, v, a, b) next_counts[k] -= v next_counts[a] += v next_counts[b] += v print(next_counts) return next_counts, letter_counts if __name__ == '__main__': print(solve(*get_data("input"), nstep=40))