Problème de compréhension Python
Résolu
31hajoura
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai effectué un exercice et ma version ne donne pas le même résultat que le leur ...
Est-ce que vous pouvez m'expliquer ce qui cloche.
voici l'intitulé:
Soit 10.000 lancers d'un dé équilibré classique (à 6 faces). Parmi ces 10.000 lancers, on en prend 1.000 aléatoirement.
On réalise 5 fois cette expérience, et on note m la moyenne des fréquences de 6 obtenus sur les 10.000 lancers et n la moyenne des fréquences de 4 obtenus dans le sous-échantillon.
Quelles seraient les valeurs de m et n à l'issue de cette expérience ?
voici la mienne:
Voici la correction:
pouvez m'expliquer quel est la difference.
En vous remerciant
J'ai effectué un exercice et ma version ne donne pas le même résultat que le leur ...
Est-ce que vous pouvez m'expliquer ce qui cloche.
voici l'intitulé:
Soit 10.000 lancers d'un dé équilibré classique (à 6 faces). Parmi ces 10.000 lancers, on en prend 1.000 aléatoirement.
On réalise 5 fois cette expérience, et on note m la moyenne des fréquences de 6 obtenus sur les 10.000 lancers et n la moyenne des fréquences de 4 obtenus dans le sous-échantillon.
Quelles seraient les valeurs de m et n à l'issue de cette expérience ?
voici la mienne:
for i in range(5): ech = [rd.randint(1,6) for j in range(10000)] for i in range(5): sous_ech = [rd.sample(ech, 1000)] m = ech.count(6)/10000 n = sous_ech.count(4)/1000 print("m =", m/5, "et n =", n/5)
Voici la correction:
import random m = 0 n = 0 for i in range(5): listeDe = [] j = 0 while j < 10000: listeDe.append(random.randint(1, 6)) j += 1 sousEchantillonDe = random.sample(listeDe, 1000) m += listeDe.count(6)/10000 n += sousEchantillonDe.count(4)/1000 print("m =", m/5, "et n =", n/5)
pouvez m'expliquer quel est la difference.
En vous remerciant
A voir également:
- Problème de compréhension Python
- Citizen code python avis - Accueil - Outils
- Mot secret python pix ✓ - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Python par la pratique : 101 exercices corrigés pdf - Forum Python
- Exercice python - Forum Python
2 réponses
Bonsoir 31hajoura,
Ces 2 programmes ne font pas du tout la même chose
Dans la correction:
m=0, n=0
1_ on crée une liste de 10000 nombres aléatoires
2_ on en prend un échantillon de 1000 nombres
3_ on ajoute à m le nombre d'apparitions du chiffre 6 dans la liste/10000
4_ on ajoute à n le nombre d'apparitions du chiffre 4 dans l'échantillon/1000
et on recommence tout çà 3 fois
donc à chaque tour de boucle for i in range(5), on ajoute des valeurs à m et n
Toi tu fais çà:
1_on définit 4 fois la variable ech, donc à la fin de la boucle, c'est la dernière qui reste
(la boucle ne sert à rien : on écrase la valeur de ech à chaque tour)
2_ on définit 4 fois la variable sous_ech, donc à la fin de la boucle, c'est la dernière qui reste
(la boucle ne sert à rien : on écrase la valeur de sous_ech à chaque tour)
3_ on initialise une seule fois m et n avec les dernières valeurs de ech et sous ech
Ces 2 programmes ne font pas du tout la même chose
Dans la correction:
m=0, n=0
1_ on crée une liste de 10000 nombres aléatoires
2_ on en prend un échantillon de 1000 nombres
3_ on ajoute à m le nombre d'apparitions du chiffre 6 dans la liste/10000
4_ on ajoute à n le nombre d'apparitions du chiffre 4 dans l'échantillon/1000
et on recommence tout çà 3 fois
donc à chaque tour de boucle for i in range(5), on ajoute des valeurs à m et n
Toi tu fais çà:
1_on définit 4 fois la variable ech, donc à la fin de la boucle, c'est la dernière qui reste
(la boucle ne sert à rien : on écrase la valeur de ech à chaque tour)
2_ on définit 4 fois la variable sous_ech, donc à la fin de la boucle, c'est la dernière qui reste
(la boucle ne sert à rien : on écrase la valeur de sous_ech à chaque tour)
3_ on initialise une seule fois m et n avec les dernières valeurs de ech et sous ech