Sagot :

1) On écrit simplement le code donné :

from random import *

A=randint(1,6)

2) On introduit une boucle for (range(n) permet de faire une opération n fois) :

from random import *

for i in range(100):

   A=randint(1,6)

3) B est initialisée à 0 et incrémentée chaque fois que A est pair.

B=0

for i in range(100):

   A=randint(1,6)

   if A%2==0:

       B+=1

print(B/100)

4) J'obtiens : 0.43, 0.47, 0.4, 0.52, 0.52

5) On remplace 100 par N. Il faut indiquer la valeur de N au début :

N=???

B=0

for i in range(N):

   A=randint(1,6)

   if A%2==0:

       B+=1

print(B/N)

On peut éventuellement demander la valeur de N au début avec la commande N=input("N ?").

J'obtiens : 0.489, 0.488, 0.508, 0.502, 0.517

Les fréquences obtenues sont plus proches de 0.5 (qui est la probabilité théorique que A soit pair). C'est la "loi des grands nombres".

6) Lors d'un tirage, c'est 1/2.

Lors de 100 tirages, la probabilité d'obtenir au moins une fois un nombre pair est  : [tex]1- \frac{1}{2^{100}}[/tex]

et lors de 1000 : [tex]1- \frac{1}{2^{1000}}[/tex]

7) Les résultats sont cohérents. Ne jamais obtenir de nombre pair revient à B=0, ce que la calculatrice ne renvoie jamais pour N=100 ou 1000.