IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

tirage avec remise


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 42
    Par défaut tirage avec remise
    Bonjour, je dois créer une première fonction qui modélise une urne avec a boules bleues et b boules rouges puis une autre fonction qui réalise un tirage avec remise dans cette urne. Je dois ensuite appliquer ces 2 fonctions pour une urne contenant 10 boules bleues et 10 rouges et réaliser un tirage avec remise qui donne le résultat sous la forme : "vous avez tiré une boule bleue" ou "vous avez tiré une boule rouge".

    J'ai crée la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def modeliser_urne(a,b):
        urne=a*[1]+b*[0] #boules rouges modélisées par des 0 et boules bleues par des 1
        return urne
    #tirage avec remise 
    def tirage(urne):
        return rd.choice(urne)
    et c'est ici que je bloque

    merci pour votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    ok tu as l'air bien parti.

    Et qu'est ce qui t'empeche d'écrire ca à la suite de ton code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    mon_urne = modeliser_urne(10,10)
    une_boule_tiree = tirage(mon_urne)
     
    if une_boule_tiree == 1 :
          print("Vous avez tiré une boule bleue")
    else :
          print("Vous avez tiré une boule rouge")

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 42
    Par défaut
    J’ai essayé quelque chose de la sorte mais cela n’a pas marché, Merci beaucoup pour votre aide !

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 42
    Par défaut
    Finalement le programme ne marche pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    def modelisation_urne(p,q):
        urne=p*[1]+q*[0] #les boules bleues sont modélisées par des 1 et les boules rouges par des 0
        return urne
     
        #tirage avec remise
        def tirage(urne):
            return rd.choice(urne)
     
        mon_urne=modelisation_urne(10,10)
        boule_tiree = tirage(mon_urne)
     
        if boule_tiree==1 :
            print("Vous avez tiré une boule bleue")
        else :
            print("Vous avez tiré une boule rouge")

  5. #5
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Au premier "return" rencontré, la fonction s'arrête.

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 42
    Par défaut
    Oui mais du coup, rd de rd.choice(urne) n’est pas défini ...

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 42
    Par défaut tirage sans remise
    Bonjour, je dois créer une première fonction qui modélise une urne avec a boules bleues et b boules rouges puis une autre fonction qui réalise un tirage sans remise dans cette urne. Je dois ensuite appliquer ces 2 fonctions pour une urne contenant 10 boules bleues et 10 rouges et réaliser un tirage sans remise qui donne le résultat sous la forme : "vous avez tiré une boule bleue" ou "vous avez tiré une boule rouge" et "nombre de boules restant dans l'urne:" xxx.
    Je ne vois pas comment introduire le nombre de boules restant dans l'urne, merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    import random as rd
    global urne
    def modelisation_urne(a,b):
        urne=a*[1]+b*[0] #les boules bleues sont modélisées par des 1 et les boules rouges par des 0
        return urne
     
    #on effectue un tirage sans remise
    def tirage(urne):
        rd.shuffle(urne)
        dernier=urne[-1]
        urne.pop() 
        return dernier
     
     
    urne=modelisation_urne(10,10) 
    if tirage(urne)==1: #1 renvoie à la boule blanche
        print("Vous avez tiré une boule bleue")
    else:
        print("Vous avez tiré une boule rouge")

  8. #8
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Pourquoi créer un autre fil ?

    Une piste :
    Essaie avec 20 ou 21 (comme ici).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    import random as rd
    global urne
    def modelisation_urne(a,b):
        urne=a*[1]+b*[0] #les boules bleues sont modélisées par des 1 et les boules rouges par des 0
        return urne
     
    #on effectue un tirage sans remise
    def tirage(urne):
        rd.shuffle(urne)
        dernier=urne[-1]
        print("urne avant retrait : ", urne)
        urne.pop()
        print("urne après retrait : ", urne)
        print(dernier)
        return dernier
     
     
    urne=modelisation_urne(10,10)
    print("urne initiale : ", urne)
    for i in range(21):
        if tirage(urne)==1: #1 renvoie à la boule blanche
            print("Vous avez tiré une boule bleue")
        else:
            print("Vous avez tiré une boule rouge")

Discussions similaires

  1. Tirage avec remise - Bootstrap
    Par FanFan44 dans le forum SAS STAT
    Réponses: 3
    Dernier message: 10/07/2013, 16h56
  2. interprêtation de la macro tirage avec remise
    Par nostress dans le forum Macro
    Réponses: 6
    Dernier message: 09/06/2008, 15h58
  3. Tirage aléatoire avec remise
    Par ndiayette dans le forum SAS STAT
    Réponses: 3
    Dernier message: 16/05/2008, 22h14
  4. créer un numero incrémenter avec remise a 0 annuel
    Par p'tite Sandrine dans le forum Access
    Réponses: 17
    Dernier message: 29/01/2007, 10h17
  5. Probleme de tirage avec rand ?
    Par sunshine33 dans le forum MFC
    Réponses: 5
    Dernier message: 14/01/2004, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo