Exercice 2 — Analyser ce programme :
import random, math
def freq_succes(n, p_succes):
succes = 0
for i in range(n):
if random.random() < p_succes:
succes += 1
return succes / float(n)
n, N, p = 200, 100, 0.25
nb_bons = 0
for j in range(N):
f = freq_succes(n, p)
if abs(f-p) < 1/math.sqrt(n):
nb_bons += 1
print(nb_bons/float(N))
1) Que fait freq_succes(n, p_succes) ?
2) Pourquoi random.random() < p_succes simule un succès de probabilité p_succes ?
3) Que représente nb_bons ?
4) Quelle valeur attend-on affichée ?