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 :

Ecriture d'un jeu Python [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 21
    Par défaut Ecriture d'un jeu Python
    Bjr la communauté j'espère que vous allez bien malgré ces temps difficiles. j'ai programmé un jeu de tirages de 05 nombres aléatoires( et aussi celui de 03)
    distincts parmi les nombres allant de 1 à 90. Je voudrais savoir si vous pouvez m'aider à réaliser le même programme en moins de lignes de code. je tiens à préciser que je suis débutant en python. Voici mon programme:

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    import random
    L = []
    k = 0
    do_it = True
    while k < 90:
        k = k+1
        L = L + [k]
     
     
    i = random.randint(0, 89)
    U = L[i]
    m = random.randint(0, 89)
    D = L[m]
    n = random.randint(0, 89)
    T = L[n]
    o = random.randint(0, 89)
    Q = L[o]
    p = random.randint(0, 89)
    C = L[p]
     
    print("tirage de 05 numéros: ")
    if U != D and D != T and T != U and Q != T and Q != D and Q != U and C != Q and C != T and C != D and C != U:
        B = [U] + [D] + [T] + [Q] + [C]
        for x in B:
            print(x, end=' ')
     
    else:
        do_it = False
    print('\n')
     
     
    q = random.randint(0, 89)
    S = L[q]
    r = random.randint(0, 89)
    R = L[r]
    t = random.randint(0, 89)
    H = L[t]
     
    print('tirage de 03 numéros:')
    if S != R and R != H and S != H:
        A = [S] + [R] + [H]
        for y in A:
            print(y, end=' ')
    else:
        do_it = False
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 21
    Par défaut
    j'ai également que le sentiment que mon code n'est pas assez précis. car mon but était de programmer de manière à ce que le résultat m'affiche à chaque fois des nombres tous distincts pourtant parfois lorsque j'exécute le code le résultat n'affiche rien (surtout pour le tirage de 05 nombres ) . Mais je ne parviens pas à résoudre ce petit problème.
    SVP les amis j'ai besoin d'aide

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 761
    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 761
    Par défaut
    Salut,

    L'intérêt des tutos est qu'ils proposent des exercices souvent corrigés.
    Et l'avantage est que les connaissances en programmation des corrections est cohérent avec ce qui a été présenté dans les chapitres précédents.

    Pour qu'un code fasse moins de lignes, il faut repenser l'algorithme utilisé.

    Par exemple pour faire le tirage de 3 nombres différents dans la liste des entiers qui vont de 1 à 80, on peut penser:
    • aux jetons du LOTO: on retire un jeton du tas, il ne pourra plus être choisi à nouveau
    • à un jeu de carte: on mélange, on retire les 3 premières cartes du paquets,...


    Et on se retrouve à essayer de traduire çà en Python.

    On part d'une liste L des entiers de 1 à 80:
    • "simuler" le tirage du LOTO sera de choisir un indice au hasard et retirer l'élément correspondant.
    • avec le jeu de carte, on peut mélanger la liste (via random.shuffle) et récupérer les 3 premiers.


    A vous d'essayer de coder les différentes moutures.

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

  4. #4
    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
    Oui votre code se raccourci en 1 ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import random
    print(random.choice(range(90),5))
    après je présume que ce n'est pas vraiment l'objectif de l'exercice.
    Donc si vous voulez tout de meme garder votre propre algo, mais en le raccourcissant, déjà au lieu de mettre chaque élément tiré dans une variable, mettez le dans une liste.

    Ca me parait etre l'étape numéro 1 indispensable

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2019
    Messages : 21
    Par défaut
    ok grand merci pour l'information.

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

Discussions similaires

  1. Problème dans le codage d'un jeu python
    Par riwaxer dans le forum Général Python
    Réponses: 3
    Dernier message: 26/04/2018, 18h48
  2. [Python 3.X] Ecriture d'un script python pour implémenter un modele
    Par romualdaurel dans le forum Général Python
    Réponses: 2
    Dernier message: 18/07/2017, 02h43
  3. Réponses: 10
    Dernier message: 09/08/2014, 13h23
  4. [Jeu python] Solutions à mes problémes
    Par moithibault dans le forum Général Python
    Réponses: 1
    Dernier message: 12/06/2010, 12h09
  5. Créer un jeu.. Python est le bon ?
    Par Miksimus dans le forum Programmation multimédia/Jeux
    Réponses: 11
    Dernier message: 06/02/2009, 22h31

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