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

Exercices Python Discussion :

Exercice if else elif


Sujet :

Exercices Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Janvier 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert sécurité informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2020
    Messages : 16
    Points : 18
    Points
    18
    Par défaut Exercice if else elif
    Bonjour j'aurais besoin d'aide pour cette exercice svp

    Écrire une fonction alea_dice(s) qui génère trois nombres (pseudo) aléatoires à l’aide de la fonction randint du module random, représentant trois dés (à six faces avec les valeurs de 1 à 6), et qui renvoie la valeur booléenne True si les dés forment un 421, et la valeur booléenne False sinon.
    Le paramètre s de la fonction est un nombre entier, qui sera passé en argument à la fonction random.seed au début du code de la fonction. Cela permettra de générer la même suite de nombres aléatoires à chaque appel de la fonction, et ainsi de pouvoir tester son fonctionnement.

    L’appel suivant de la fonction :alea_dice(1) doit retourner : False

    Moi j'ai fait ça mais sa me met erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import random
     
    def alea_dice(s):
        random.seed(s)
        d1=random.randint(1,6)
        d2=random.randint(1,6)
        d3=random.randint(1,6)
        if(d1,d2,d3)==(4,2,1) or(d1,d3,d2)==(2,4,1) or (d3,d2,d1)==(1,4,2)or (d1,d2,d3)==(2,1,4) or (d1,d3,d2)==(4,1,2) or (d3,d2,d1)==(1,2,4):
            return (True)
        else:
            return (False)

  2. #2
    Membre éclairé
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 513
    Points : 700
    Points
    700
    Par défaut
    Bonjour,

    utilise la balise code sinon c'est illisible.

    plutôt que de chercher dans toutes les combinaisons possibles vous pouvez justes chercher si un dès vaut 4, puis un dès vaut 2 et enfin si un dès vaut 1

    mais la question est mal posée et peu être interprété différemment, est ce que 124 est valide? 421 ? 412 ? ou bien est ce qu'il faut que soit d1=4, d2=2 et d3=1 ?

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par adamdu30 Voir le message
    Écrire une fonction alea_dice(s) qui génère trois nombres (pseudo) aléatoires à l’aide de la fonction randint du module random, représentant trois dés (à six faces avec les valeurs de 1 à 6), et qui renvoie la valeur booléenne True si les dés forment un 421, et la valeur booléenne False sinon.
    Pour faire çà on va d'abord trier (d1, d2, d3) pour le comparer à 4, 2, 1 ou faire des "set".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import random
     
    def alea_dice(s):
        random.seed(s)
        a=random.randint(1,6)
        b=random.randint(1,6)
        c=random.randint(1,6)
        if ((a==4 and b==2 and c==1)or (a==2 and b==4 and c==1)or (a==1 and b==2 and c==4)or (a==1 and b==4 and c==2)or(a==2 and b==1 and c==4)or(a==4 and b==1 and c==2)):
            return True 
        else :
            return False
    il faut faire attention aux espaces

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    En Python, on peut écrire cela ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import random
    from random import randint
     
    def alea_dice(s):
        random.seed(s)
        return { randint(1, 6) for _ in range(3) } == {1, 2, 4}
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. exercice python: erreur condition else
    Par maxdetyler dans le forum Général Python
    Réponses: 2
    Dernier message: 22/01/2019, 23h37
  2. Réponses: 6
    Dernier message: 18/05/2016, 18h14
  3. [Python 2.X] PB script if elif else
    Par Falmar dans le forum Général Python
    Réponses: 4
    Dernier message: 13/05/2015, 14h40
  4. exercice sur condition if else
    Par hotdogFRANCE dans le forum C#
    Réponses: 4
    Dernier message: 25/01/2009, 15h08
  5. Pouvez vous m'aider a resoudres ces 3 exercices
    Par algorithmique dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 09/08/2002, 17h26

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