# Scientific Computing with Python Projects - Probability Calculator

Tell us what’s happening:
Describe your issue in detail here.

Hi, I think I’ve done the code, but an error appears.
“ValueError: empty range for randrange()”

Can someone help me?

``````import copy
import random

# Consider using the modules imported above.

class Hat:
def __init__(self, **balls):
self.balls = balls
self.contents = []
for ball, num in balls.items():
for i in range(num):
self.contents.append(ball)

def draw(self, number):
pop = []
for i in range(number):
pop.append(self.contents.pop(random.randrange(len(self.contents))))

return pop

def experiment(hat, expected_balls, num_balls_drawn, num_experiments):
happen = 0
for i in range(num_experiments):
cop_hat = copy.deepcopy(hat)
cop_exp_ball = copy.deepcopy(expected_balls)
cor_pop = cop_hat.draw(num_balls_drawn)

top = 0
for ball, num in cop_exp_ball.items():
if cor_pop.count(ball) >= num:
top += 1
if top == len(expected_balls):
happen += 1

print(happen/num_experiments)

pro = happen / num_experiments

return pro

``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36`

Challenge: Scientific Computing with Python Projects - Probability Calculator