from random import random
from math import sqrt

val =    [  1 ,  2 ,   5,  -3 ]
proba =  [ 0.1, 0.5, 0.3, 0.1 ]

def simul_tirage(val, proba):
	t = random()
	s = proba[0]
	k = 0
	while t > s:
		k = k + 1
		s = s + proba[k]
	return val[k]

def simul_ech(val, proba, n):
	res = [0,0,0,0]
	for J in range (n):
		tirage = simul_tirage(val, proba)
		for k in range(4):
			if val[k] == tirage:
				res[k] = res[k] + 1 
	for k in range(4):
		res[k] = ...
	return res

def esp_var(val, proba):
	s = 0
	for k in range(4):
		s = s + val[k]*proba[k]
	return s

def var_var(val, proba):
	s = 0
	e = esp_var(val, proba)
	for k in range(4):
		...
	return s

def proportions(val, proba, n, N):
	res = [0,0,0]
	mu = esp_var(val, proba)
	sigma = sqrt(var_var(val, proba))
	for j in range (N):
		ech = simul_ech(val, proba, n)
		moy = esp_var( val, ech)
		if abs(moy - mu) < sigma/sqrt(n):
			res[0] = res[0] + 1
		if ... :
			res[1] = res[1] + 1
		if ... :
			res[2] = res[2] + 1
	for k in range(3):
		res[k] = res[k]/N
	return res

# simulation
print(proportions(val, proba, 100, 1000))
