Discussion about this post

User's avatar
Jean-Pierre Bianchi's avatar

Woudn't it be even faster to use a dictionary with 10 keys m={0:1, 1:2, 2:2, 3:2, 4:2, 5:2, 6:3, 7:3, 8:4,9:4} and access it with m[int(r *10)]? Sthg like

def solution2(nums, probs):

times = int(input("Enter number of random numbers generated"))

plist = [n for plist in [[nums[i]]*int(p*10) for i,p in enumerate(probs)] for n in plist]

rnd_smpl = {i:n for i,n in enumerate(plist)}

ma = {n:0 for n in nums}

for _ in range(times):

ma[rnd_smpl[int(random()*10)]] += 1

print(ma)

Expand full comment
5 more comments...

No posts