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
A voir également:

4 réponses

Utilisateur anonyme
 
Bonjour
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
0
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
Jean
 
Merci je ne savais pas
0
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
georges97 Messages postés 13775 Date d'inscription   Statut Contributeur Dernière intervention   2 650
 
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
Utilisateur anonyme
 
ben georges t'as merdouillé avec les balises ;)
0
georges97 Messages postés 13775 Date d'inscription   Statut Contributeur Dernière intervention   2 650 > 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
Utilisateur anonyme > georges97 Messages postés 13775 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
georges97 Messages postés 13775 Date d'inscription   Statut Contributeur Dernière intervention   2 650 > Utilisateur anonyme
 
Merci, effectivement, j'ai appelé <code>, puis "corrigé" .

Bonne nuit.
0
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
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