Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Probabilité en python

Posté par
ExpertJuge01
27-10-20 à 20:06

Bonjour j'aimerais que l'on me guide pour un exercice de probabilité en python voici l'énoncé
Une urne contient cinq bulletins verts et trois bulletins bleus.
Jerome à écrit le script Python d'une fonction tirage
from random import randint
def tirage():
        tirage=[]
        For i in range(2):
                 if randint(1,8)<=3:
                     tirage.append("bleu")
                     else :
                               tirage.append("vert")
       return(tirage)

1)Que renvoie cette fonction ?
2)Quelle est la probabilité que cette fonction renvoie le couple [ 'bleu','bleu ']?
3)Modifier le script de la fonction tirage pour qu'elle renvoie le nombre de bulletins bleus obtenus lors de deux tirages sans remise dans l'urne.

Posté par
ZEDMAT
re : Probabilité en python 27-10-20 à 20:57

Bonsoir,

1) As tu remarqué les crochets de la ligne 2 ?
             tirage=[]

En conséquence quelle est la nature de l'objet tirage ?

Par curiosité, as tu essayé d'utiliser cette fonction nommée aussi tirage?

Posté par
ExpertJuge01
re : Probabilité en python 27-10-20 à 22:20

Pour la question 1 la réponse est donc une liste
Pour la question 2 j'ai fait un arbre pondéré qui indique qu'au premier tirage la probabilité d'avoir un bulletin bleu est de 3sur8 et au deuxième tirage 2sur7 donc la probabilité de trier deux bulletins bleus est de 3sur8 × 2sur7 = 3sur28 Pour la 3ème question je n'ai pas compris

Posté par
pgeod
re : Probabilité en python 28-10-20 à 08:29

La fonction tirage() simule un tirage avec remise dans l'urne.
Ta réponse à la question 2/ n'est donc pas la bonne.

Posté par
ZEDMAT
re : Probabilité en python 28-10-20 à 09:46

Citation :
Pour la question 1 la réponse est donc une liste

Oui en effet, une LISTE
mais que contient cette liste (ou peut contenir cette liste) quand elle est retournée par la fonction ?
Je renouvelle ma question : as tu essayé de faire "fonctionner" ce script ?

Pour la question 2, pgeod t'a déjà indiqué que ta réponse est erronée .

Pour la question 3,il va falloir que tu fasses bien la différence entre un tirage avec remise et un tirage sans remise.

Posté par
ExpertJuge01
re : Probabilité en python 28-10-20 à 10:52

Pour la question 1 j'ai dit que c'est une liste qui contenait deux éléments et que seul "bleu" et "vert" peuvent faire office d'éléments
Pour la question 2 j'avais oublié la remise dans l'urne c'est donc 3sur8 × 3sur8 = 9sur64
Pour la question 3 je ne sais pas quoi modifier

Posté par
ZEDMAT
re : Probabilité en python 28-10-20 à 11:38

ExpertJuge01 @ 28-10-2020 à 10:52

Pour la question 1 j'ai dit que c'est une liste qui contenait deux éléments OUI
et que seul "bleu" et "vert" peuvent faire office d'éléments
Dommage que tu ne dises pas que la fonction tire DEUX  BULLETINS !! Tu pourrais citer les différents contenus possibles puisqu'ils ne sont pas nombreux... cela serait plus clair et sans ambiguïté....

Pour la question 2 j'avais oublié la remise dans l'urne c'est donc 3sur8 × 3sur8 = 9sur64
Il n'est pas dit dans l'énoncé que le script simule un tirage sans remise ! mais tel qu'il est conçu dans la fonction, le tirage est sans ambiguïté, simulé SANS remise (la boucle est parcourue 2 fois et à chaque tour, les conditions sont identiques). Il faudrait le dire...

Pour la question 3 je ne sais pas quoi modifier.
L'énoncé dit que le script modifié devra simuler un tirage AVEC remise de DEUX bulletins ! Voilà qui va nécessiter une modification importante du code donné....
je te laisse mettre les mains dans le cambouis. Une fois de plus je t'incite à aller dans python et à tester tes programmes....

Posté par
ExpertJuge01
re : Probabilité en python 28-10-20 à 11:46

Merci je préviendrai si je nécessite encore de l'aide

Posté par
ExpertJuge01
re : Probabilité en python 28-10-20 à 14:33

Pour la question 2 qu'est-ce qui indique une remise dans l'urne et pour la question 3 je ne sais pas quoi faire

Posté par
ZEDMAT
re : Probabilité en python 28-10-20 à 14:57

ExpertJuge01 @ 28-10-2020 à 14:33

Pour la question 2 qu'est-ce qui indique une remise dans l'urne

Comme déjà dit, si tu "décortiques" le code de la fonction tirage, tu DOIS COMPRENDRE * que l'on parcourt DEUX fois la boucle "for i in range(2)" ==> donc on tire DEUX bulletins
* et qu'au deuxième passage, le tirage d'un bulletin se fait rigoureusement dans les MÊMES conditions qu'au premier tour (les conditions ne changent pas donc équivaut à un tirage AVEC remise ==> on remet le bulletin tiré au premier tour dans l'urne avant d'effectuer le second tirage).


et pour la question 3 je ne sais pas quoi faire

Il va falloir prévoir de changer la composition de l'urne avant d'effectuer le second tirage puisque le premier bulletin tiré n'est pas remis dans l'urne (SANS remise) ; Lors du second tirage, l'urne ne contient plus que... 7 bulletins dont la couleur dépend du 1er tirage !!
Si tu veux que je t'aide davantage sur cette modification du script, il va te falloir ()
ouvrir ton logiciel Python et saisir du code.... mais peut-être que tu préfères préparer le travail en écrivant un algorithme

Posté par
ExpertJuge01
re : Probabilité en python 28-10-20 à 17:13

Voici un essai. Est-ce valable ?

from random import randint

def tirage():
nbr_bleu =
#ler tirage
if randint (1, 8) <=3:
nbr_bleu = nbr_bleu + 1
#2ème tirage: il reste 2 bulletins bleus sur
7 bulleins
if randint (1,7)<=2:
nbr_bleu = nbr_bleu + 1
else:
#2ème tirage il reste 3 bulletins bleus sur 7 bulleins
if randint (1,7)<=3:
nbr_bleu= nbr_bleu + 1
return(nbr_bleu)

Posté par
ZEDMAT
re : Probabilité en python 28-10-20 à 17:48

Pas mal a priori

mais
* sans les indentations, difficile de savoir si c'est correct.
* sans la valeur 0 pour initialiser nbr_bleu, la fonction "plante"

As tu fait un jeu d'essais pour t'assurer que ta fonction n'oublie aucun cas ?

Posté par
ExpertJuge01
re : Probabilité en python 28-10-20 à 17:59

Merci pour tout

Posté par
ZEDMAT
re : Probabilité en python 28-10-20 à 18:01

Bon vent.

Posté par
carpediem
re : Probabilité en python 28-10-20 à 18:23

salut

je ne comprends pas comment on choisit de faire le if ou le else dans le programme de 17h13 ...

ou encore pour le deuxième tirage on ne sait pas si on a eu un bleu ou un vert ...

Posté par
carpediem
re : Probabilité en python 28-10-20 à 21:48

from random import randint

def tirage() :
  bleu = 0
  #1er tirage
  if randint (1, 8) <= 3 :
    bleu = bleu + 1
  #2ème tirage: il reste 7 bulletins et 3 - bleus bulletins bleu
  if randint (1,7) <= 3 - bleus :
    bleu = bleu + 1

  return bleu


me semble convenir ...

Posté par
ExpertJuge01
re : Probabilité en python 28-10-20 à 22:05

Return bleu ne fonctionne pas

Posté par
ExpertJuge01
re : Probabilité en python 28-10-20 à 22:12

C'est bon le code fonctionne merci beaucoup

Posté par
ZEDMAT
re : Probabilité en python 28-10-20 à 22:52

@ Carpediem

Est-ce que le programme fait par ExpertJuge01, si on fait les bonnes indentations, fonctionne correctement ?
Sous la forme suivante, il semblerait que oui même s'il est un peu plus alambiqué que le tien... Qu'en penses-tu ?

from random import randint

def tirage():
    nbr_bleu=0
    if randint (1, 8) <=3:
        nbr_bleu = nbr_bleu + 1
        if randint (1,7)<=2:
            nbr_bleu = nbr_bleu + 1
    else:
        if randint (1,7)<=3:
            nbr_bleu= nbr_bleu + 1
    return(nbr_bleu)


PS : il y avait un s de trop (à bleus) dans ton script. C'est bien que EJ01 ait su trouver le blocage

Posté par
carpediem
re : Probabilité en python 28-10-20 à 23:41

ha oui comme ça ça devrait marcher ...

je dois avouer que j'ai eu beaucoup de mal à lire le code de 17h13 de ExpertJuge01 ... donc effectivement mauvaise interprétation de l'indentation ...



j'invite de plus ExpertJuge01 à rendre son code plutôt que le mien (qu'il peut cependant garder sous la main bien sûr)



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !