Skip to content

Instantly share code, notes, and snippets.

@anirudhpillai
Created September 3, 2021 12:37
Show Gist options
  • Save anirudhpillai/49c54b6df853c026b505d3bc81ae5763 to your computer and use it in GitHub Desktop.
Save anirudhpillai/49c54b6df853c026b505d3bc81ae5763 to your computer and use it in GitHub Desktop.
from next_num import RandomGen
from collections import Counter
def main():
random_nums = [-1, 0, 1, 2, 3]
probabilities = [0.01, 0.3, 0.58, 0.1, 0.01]
rg = RandomGen(random_nums, probabilities)
total_runs = 10000
frequencies = Counter(rg.next_num() for _ in range(total_runs))
# frequencies = Counter(rg.next_num_o_of_n() for _ in range(total_runs))
expected = dict(zip(random_nums, probabilities))
for num, freq in frequencies.items():
print(f"{num} actual freq: {freq / total_runs}, expected: {expected[num]}")
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment