Mélange de liste

Jean -  
 Utilisateur anonyme -
Bonsoir,

Je suis en première avec la spécialité NSI et je dois rendre un projet dans pas très longtemps. Le problème est que je n'arrive pas à écrire une fonction. Voici la question : écrire une fonction melange(jeu) qui renvoie la liste mélangée du jeu de carte. Pourriez-vous m'aider ? merci d'avance.

Voici ce que j'ai commencé à faire (je sais pas comment on partage du code exactement):

import random

couleur=['pique','coeur','carreau','trèfle']

print("les couleurs sont : ",couleur)

valeurs=['As','2','3','4','5','6','7','8','9','10','j','q','k']

print("les valeurs sont : ",valeurs)

def creer_jeu():
return [(x,y) for x in valeurs for y in couleur]

carte = creer_jeu()

print("création d'un jeu de cartes : ",carte)

def melange(jeu):
jeu = []
random.shuffle(jeu)
return jeu

4 réponses

  1. Jean
     
    import random
    
    couleur=['pique','coeur','carreau','trèfle']
    
    print("les couleurs sont : ",couleur)
    
    valeurs=['As','2','3','4','5','6','7','8','9','10','j','q','k']
    
    print("les valeurs sont : ",valeurs)
    
    def creer_jeu():
        return [(x,y) for x in valeurs for y in couleur]
    
    carte = creer_jeu()
    
    print("création d'un jeu de cartes : ",carte)
    
    def melange(jeu):
        jeu = []
        random.shuffle(jeu)
        return jeu
    
    0
    1. Jean
       
      Merci je ne savais pas
      0
      1. Utilisateur anonyme > Jean
         
        L'idée étant quand même de conserver l'indentation, quand tu copies colles depuis le site, ça n'est plus indenté....
        Bon je corrige ton second post
        0
  2. georges97 Messages postés 14561 Date d'inscription   Statut Contributeur Dernière intervention   2 915
     
    Bonsoir Jean,

    Vous y étiez presque et j'ai saisi l'opportunité de me plier à l'exercice.

    En fait, dans la fonction, c'est carte qu'il faut soumettre à shuffle et non jeu, et là, ca fonctionne, pour moi.

    def melange(carte):
        random.shuffle(carte)
        return carte
    melange(carte)
    print()
    print("mélange: ",carte)


    J'ai dû faire une erreur dans la déclaration du langage. Désolé Whismeril. Je ferai mieux la prochaine fois.
    0
    1. Utilisateur anonyme
       
      ben georges t'as merdouillé avec les balises ;)
      0
      1. georges97 Messages postés 14561 Date d'inscription   Statut Contributeur Dernière intervention   2 915 > Utilisateur anonyme
         
        Eh oui, c'est la première fois que je m'en sers. C'est la honte, je vois d'ici le fou rire de Jean. Je vais m'entrainer. A bientôt.
        0
      2. Utilisateur anonyme > georges97 Messages postés 14561 Date d'inscription   Statut Contributeur Dernière intervention  
         
        si tu les tapes à la main, il faut finir par </code>

        sinon, tu lis le tuto que j'ai donné plus haut.
        Je corrige ton message aussi
        0
      3. georges97 Messages postés 14561 Date d'inscription   Statut Contributeur Dernière intervention   2 915 > Utilisateur anonyme
         
        Merci, effectivement, j'ai appelé <code>, puis "corrigé" .

        Bonne nuit.
        0
    2. Jean
       
      Bonsoir;
      Merci beaucoup pour l'aide !
      Maintenant cela fait 3-4 jours que je suis bloqué à la question suivante qui est:

      "Écrire une fonction distribue (jeu, n) qui distribue équitablement les cartes du jeu aux n joueurs et renvoie la liste pot des cartes restante non distribuées, éventuellement vide."

      Pourriez-vous m'aider encore une dernière fois s'il vous plaît, je suis vraiment perdue..

      import random
      
      couleur=['pique','coeur','carreau','trèfle']
      
      print("les couleurs sont : ",couleur)
      
      valeurs=['As','2','3','4','5','6','7','8','9','10','j','q','k']
      
      print("les valeurs sont : ",valeurs)
      
      def creer_jeu():
          return [(x,y) for x in valeurs for y in couleur]
      
      carte = creer_jeu()
      
      print("création d'un jeu de cartes : ",carte)
      
      def melange(carte):
          random.shuffle(carte)
          return carte
          melange(carte)
          print()
      
      def distribue(jeu,n):
          Njoueur = int(input("choisir un nombre de joueurs"))
      0
  3. Utilisateur anonyme
     
    2 points
    • Écrire une fonction distribue (jeu, n) qui distribue équitablement les cartes du jeu aux n joueurs

    Cela veut dire que le nombre de joueurs est connu avant cette fonction.
    Donc tu n’as pas à le demander dans la fonction.
    • dans la vraie vie, comment se passe une distribution? Si besoin réfléchis pour 2 joueurs, 3, 4 et généralise pour n?

    0