# Build a Probability Calculator Project - Build a Probability Calculator Project

### Tell us what’s happening:

I think I got the correct probability but I don’t know why I could not pass the last test. Is there any error or do I need to use another method?

``````import copy
import random

class Hat():
def __init__(self, **kwargs):
self.contents=[]
for colour, value in kwargs.items():
for i in range(value):
self.contents.append(colour)

def draw(self,no_of_balls):
ball_drawn=[]
if no_of_balls > len(self.contents):
ball_drawn = list(self.contents)
self.contents.clear()
return ball_drawn

for i in range(no_of_balls):
ball = random.choice(self.contents)
ball_drawn.append(ball)
self.contents.remove(ball)
return ball_drawn

def __str__(self):
return str(self.contents)

def experiment(hat, expected_balls, num_balls_drawn, num_experiments):
M=0
N=num_experiments
expected=[]
for colour, value in expected_balls.items():
expected += [colour]*value

for n in range(N):
K = 0
drawn = sorted(hat.draw(num_balls_drawn))
for i in range(num_balls_drawn+1-len(expected)):
if sorted(expected) == drawn[i:i+len(expected)]:
K+=1
if K > 0:
M+=1

hat.contents += drawn
return M/N

hat = Hat(black=6, red=4, green=3)
probability = experiment(hat=hat,
expected_balls={'red':2,'green':1},
num_balls_drawn=5,
num_experiments=2000)
print(probability)
``````

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

### Challenge Information:

Build a Probability Calculator Project - Build a Probability Calculator Project

Check the browser console (F12 and select “console”) for a more detailed message.