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

Programmation multimédia/Jeux Python Discussion :

[Python] Mastermind Lycée


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2022
    Messages : 7
    Points : 2
    Points
    2
    Par défaut [Python] Mastermind Lycée
    Bonjour le professeur de mon fils lui demande un travail a rendre de ce mercredi pour vendredi matin , mon fils et son camarade bloque totalement .

    Pourriez vous nous aider pour nous dire ou son les erreurs et comment les corriger , voir même corriger les erreurs car c'est pour vendredi et mon fils a déja passé 6h et ne trouve pas...

    Son professeur demande de faire mastermind mais cette fois ci en utilisant la fonction def ...

    Voila celui qu'il on fait ci dessous et qui fonctionne mais maintenant le prof veut le meme mais avec la fonction def .


    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    #! /usr/bin/python3.9
     
    print ("Bienvenue dans le jeu Mastermind\n\nLes règles du jeu sont les suivantes:\n-L'ordinateur choisi une combinaison de 4 couleurs entre le bleu,le vert,le rouge,jaune(dans la combinaison il ne peut pas y avoir deux fois ou plus la meme couleur)\n-Le but du jeu et de deviner en un minimum de coup cette combinaison (5) \n-Si vous trouver la bonne combinaison en 5 coups ou moins alors vous gagner ou sinon vous perder")
     
    from random import *
    liste = ['bleu','vert','rouge','jaune']
    couleur1 = choice(liste)
    liste.remove(couleur1) 
    couleur2 = choice(liste)		
    liste.remove(couleur2) 
    couleur3 = choice(liste)
    liste.remove(couleur3) 
    couleur4 = choice(liste)
    liste.remove(couleur4)
     
     
     
    for i in range(100):
    	z=5-(i+1)
     
    	a=input("\nEntrer la premiere couleur de la combinaison: ")
    	b=input("\nEntrer la deuxieme couleur de la combinaison: ")
    	c=input("\nEntrer la troisieme couleur de la combinaison: ")
    	d=input("\nEntrer la quatrieme couleur de la combinaison: ")
     
    	if a==couleur1:
    		a=1
    		print("\nLa premiere couleur est bonne")
    	elif a==couleur2 or a==couleur4 or a==couleur3:
    		a=0
    		print("\nLa premiere couleur entrée est dans la liste mais pas au bon endroit")
    	elif a!=couleur2 or a!=couleur4 or a!=couleur3:
    		a=0
    		print("\nLa premiere couleur entrée n'est pas dans la liste")
     
    	if b==couleur2:
    		b=1
    		print("La deuxieme couleur est bonne")
    	elif b==couleur3 or b==couleur4 or b==couleur1:
    		b=0
    		print("La deuxième couleur entrée est dans la liste mais pas au bonne endroit")
    	elif b!=couleur3 or b!=couleur4 or b!=couleur1:
    		b=0
    		print("La deuxième couleur entrée n'est pas dans la liste")
     
    	if c==couleur3:
    		c=1
    		print("La troisieme couleur est bonne")
    	elif c==couleur2 or c==couleur4 or c==couleur1:
    		c=0
    		print("La troisième couleur entrée est dans la liste mais pas au bon endroit")
    	elif c!=couleur2 or c!=couleur4 or c!=couleur3:
    		c=0
    		print("La troisième couleur entrée n'est pas dans la liste")
     
    	if d==couleur4:
    		d=1
    		print("La quatrieme couleur est bonne")
    	elif d==couleur3 or d==couleur2 or d==couleur1:
    		d=0
    		print("La quatrième couleur entrée est dans la liste mais pas au bon endroit")
    	elif d!=couleur2 or d!=couleur4 or d!=couleurd:
    		d=0
    		print("La quatrième couleur entrée  n'est pas dans la liste")
     
    	if d+a+b+c==4 or z==0:
    		break
    	else:
     
    		print("\nLa composition est fausse plus que",z,"essais")
    if d+a+b+c:
    	print("\nYESSS!!!!! VOUS AVEZ GAGNE:)")
    else:
    	print("\nOH DOMMAGE VOUS AVEZ PERDU:(")

    Voici le second ci dessous que fait mon fils et son camarade et la ca ne fonctionne pas...pourriez vous nous aider merci.


    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    #! /usr/bin/python3.9
    print(    "Bienvenue dans le jeu Mastermind\n\nLes règles du jeu sont les suivantes:\n-L'ordinateur choisi une combinaison de 4 couleurs entre le bleu,le vert,le rouge,jaune(dans la combinaison il ne peut pas y avoir deux fois ou plus la meme couleur)\n-Le but du jeu et de deviner en un minimum de coup cette combinaison (5) \n-Si vous trouver la bonne combinaison en 5 coups ou moins alors vous gagner ou sinon vous perder")
     
    from random import *
    liste = ['bleu', 'vert', 'rouge', 'jaune']
    couleur1 = choice(liste)
    liste.remove(couleur1)
    couleur2 = choice(liste)
    liste.remove(couleur2)
    couleur3 = choice(liste)
    liste.remove(couleur3)
    couleur4 = choice(liste)
    liste.remove(couleur4)
     
    for i in range(100):
        z=5-(i+1)
        a = input("\nEntrer la premiere couleur de la combinaison: ")
        b = input("\nEntrer la deuxieme couleur de la combinaison: ")
        c = input("\nEntrer la troisieme couleur de la combinaison: ")
        d = input("\nEntrer la quatrieme couleur de la combinaison: ")
    def couleur1():
            global a
            if a == couleur1:
                a = 1
                print("\nLa première couleur est bonne")
     
            elif a == couleur2 or a == couleur4 or a == couleur3:
                a = 0
                print("\nLa première couleur entrée est dans la liste mais pas au bon endroit")
            elif a != couleur2 or a != couleur4 or a != couleur3:
                a = 0
                print("\nLa première couleur entrée n'est pas dans la liste")
    def couleur2():
            global b
            if b == couleur2:
                b = 1
                print("La deuxieme couleur est bonne")
            elif b == couleur3 or b == couleur4 or b == couleur1:
                b = 0
                print("La deuxième couleur entrée est dans la liste mais pas au bonne endroit")
            elif b != couleur3 or b != couleur4 or b != couleur1:
                b = 0
                print("La deuxième couleur entrée n'est pas dans la liste")
    def couleur3():
            global c
            if c == couleur3:
                c = 1
                print("La troisieme couleur est bonne")
            elif c == couleur2 or c == couleur4 or c == couleur1:
                c = 0
                print("La troisième couleur entrée est dans la liste mais pas au bon endroit")
            elif c != couleur2 or c != couleur4 or c != couleur3:
                c = 0            print("La troisième couleur entrée n'est pas dans la liste")
    def couleur4():
            global d
            if d == couleur4:
                d = 1
                print("La quatrieme couleur est bonne")
            elif d == couleur3 or d == couleur2 or d == couleur1:
                d = 0
                print("La quatrième couleur entrée est dans la liste mais pas au bon endroit")
            elif d != couleur2 or d != couleur4 or d != couleur3:
                d = 0            print("La quatrième couleur entrée  n'est pas dans la liste")
            if a+b+c+d ==4 or z==0:
                break
            else:
                    print("\nLa composition est fausse plus que",z,"essais")
    if d+a+b+c:
            print("\nYESSS!!!!! VOUS AVEZ GAGNE:)")
    else:
            print("\nOH DOMMAGE VOUS AVEZ PERDU:(")
    Merci pour votre aide, je suis son père et je veux juste l'aider a comprendre, leur prof ne veut pas répondre aux questions en plus il est en première et c'est pour l'option SNI merci de votre aide.

  2. #2
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2022
    Messages : 7
    Points : 2
    Points
    2
    Par défaut en capture c mieux
    Nom : Screenshot - 1_6_2022 , 12_48_01 AM.jpg
Affichages : 561
Taille : 144,0 Ko

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    (Non, la capture de code n'est pas mieux.)

    def n'est pas une fonction, mais un mot clé. Ce mot clé permet de dire que vous allez créer une fonction. Une fonction c'est un peu comme une boite, vous mettez des trucs en entrée, elle fait quelque chose et vous obtenez un résultat.
    Un exemple simple serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    def hello():
        print("Hello World")
    Cette fonction ne fait qu'afficher "Hello World". Par la suite du script, vous pouvez l'appeler comme ceci :
    Pour afficher "Hello World".

    On notera aussi que print() utilisé dans la fonction hello() est aussi une fonction.

    Une fonction permet d'organiser le code mais aussi de permettre au programme de faire plusieurs fois la même chose, sans avoir à réécrire le code.

    Vous ne pouvez pas créer de fonction dans une fonction. Pour qu'une fonction soit exécutée, il faut l'appeler. Aussi, dans la fonction, vous n'avez "généralement" pas accès aux variables du reste du code. Du coup, il faut passer des paramètres.

    Et vous trouverez d'autres exemples, explications dans les tutoriels : https://python.developpez.com/cours/
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    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
    Citation Envoyé par Eugene7 Voir le message
    Voici le second ci dessous que fait mon fils et son camarade et la ca ne fonctionne pas...pourriez vous nous aider merci.
    Lisez ce bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    liste = ['bleu','vert','rouge','jaune']
    couleur1 = choice(liste)
    liste.remove(couleur1) 
    couleur2 = choice(liste)		
    liste.remove(couleur2) 
    couleur3 = choice(liste)
    liste.remove(couleur3) 
    couleur4 = choice(liste)
    liste.remove(couleur4)
    On a 4 opérations presque identiques qui se répètent à la variable couleur1,2,3,4 près.
    Imaginez vouloir faire la même chose avec une boucle.
    Il faudrait alors passer par une liste couleurs à laquelle on ajoute ce qu'on trouve à chaque étape:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    couleurs = []
    for i in range(4):
        c = choice(liste)
        couleurs.append(c)
        liste.remove(c)
    Et au lieu d'avoir 4 variables couleur1,2,3,4, une liste et ses indices 0, 1, 2, 3 rend compte de la même chose.

    => programmer, c'est aligner les structures de données pour que l'ordinateur les traite plus facilement (ici, boucle <=> listes.)

    Les fonctions sont à priori des objets mathématiques qui n'ont rien à voir avec la programmation. lorsqu'on écrit y = f(x), on applique f a différentes valeurs de x pour obtenir les y correspondants. Et on suppose qu'an appliquant f au même x plusieurs fois donnera le même résultat.

    Un peu comme la boucle dans le cas précédent, si on cherche à trouver une fonction à répéter dans le code, on trouvera l'action "saisie de la Nième couleur et vérification qu'elle est bien a la Niéme position dans couleurs sinon qu'elle y est présente" ou N varie entre 0 et 3 inclus.

    La difficulté est que définir une fonction suppose qu'elle sera appelée (plusieurs fois) et de répartir les rôles entre ce que va faire l'appelant de la fonction et déléguer à cette fonction...

    Par exemple si on dit, "c'est la fonction qui fait la saisie de la couleur et du test", on se retrouve avec un appelant qui se réduit à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    result = 0
    for i in range(3):
        result = result + f(i, couleurs)
    if result == 4:
      print('gagné')
    else:
       print ('perdu')
    mais c'est arbitraire (à vous de choisir).

    - W






    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    #! /usr/bin/python3.9
     
    print ("Bienvenue dans le jeu Mastermind\n\nLes règles du jeu sont les suivantes:\n-L'ordinateur choisi une combinaison de 4 couleurs entre le bleu,le vert,le rouge,jaune(dans la combinaison il ne peut pas y avoir deux fois ou plus la meme couleur)\n-Le but du jeu et de deviner en un minimum de coup cette combinaison (5) \n-Si vous trouver la bonne combinaison en 5 coups ou moins alors vous gagner ou sinon vous perder")
     
    from random import *
    liste = ['bleu','vert','rouge','jaune']
    couleur1 = choice(liste)
    liste.remove(couleur1) 
    couleur2 = choice(liste)		
    liste.remove(couleur2) 
    couleur3 = choice(liste)
    liste.remove(couleur3) 
    couleur4 = choice(liste)
    liste.remove(couleur4)
     
     
     
    for i in range(100):
    	z=5-(i+1)
     
    	a=input("\nEntrer la premiere couleur de la combinaison: ")
    	b=input("\nEntrer la deuxieme couleur de la combinaison: ")
    	c=input("\nEntrer la troisieme couleur de la combinaison: ")
    	d=input("\nEntrer la quatrieme couleur de la combinaison: ")
     
    	if a==couleur1:
    		a=1
    		print("\nLa premiere couleur est bonne")
    	elif a==couleur2 or a==couleur4 or a==couleur3:
    		a=0
    		print("\nLa premiere couleur entrée est dans la liste mais pas au bon endroit")
    	elif a!=couleur2 or a!=couleur4 or a!=couleur3:
    		a=0
    		print("\nLa premiere couleur entrée n'est pas dans la liste")
     
    	if b==couleur2:
    		b=1
    		print("La deuxieme couleur est bonne")
    	elif b==couleur3 or b==couleur4 or b==couleur1:
    		b=0
    		print("La deuxième couleur entrée est dans la liste mais pas au bonne endroit")
    	elif b!=couleur3 or b!=couleur4 or b!=couleur1:
    		b=0
    		print("La deuxième couleur entrée n'est pas dans la liste")
     
    	if c==couleur3:
    		c=1
    		print("La troisieme couleur est bonne")
    	elif c==couleur2 or c==couleur4 or c==couleur1:
    		c=0
    		print("La troisième couleur entrée est dans la liste mais pas au bon endroit")
    	elif c!=couleur2 or c!=couleur4 or c!=couleur3:
    		c=0
    		print("La troisième couleur entrée n'est pas dans la liste")
     
    	if d==couleur4:
    		d=1
    		print("La quatrieme couleur est bonne")
    	elif d==couleur3 or d==couleur2 or d==couleur1:
    		d=0
    		print("La quatrième couleur entrée est dans la liste mais pas au bon endroit")
    	elif d!=couleur2 or d!=couleur4 or d!=couleurd:
    		d=0
    		print("La quatrième couleur entrée  n'est pas dans la liste")
     
    	if d+a+b+c==4 or z==0:
    		break
    	else:
     
    		print("\nLa composition est fausse plus que",z,"essais")
    if d+a+b+c:
    	print("\nYESSS!!!!! VOUS AVEZ GAGNE:)")
    else:
    	print("\nOH DOMMAGE VOUS AVEZ PERDU:(")

    Voici le second ci dessous que fait mon fils et son camarade et la ca ne fonctionne pas...pourriez vous nous aider merci.


    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    #! /usr/bin/python3.9
    print(    "Bienvenue dans le jeu Mastermind\n\nLes règles du jeu sont les suivantes:\n-L'ordinateur choisi une combinaison de 4 couleurs entre le bleu,le vert,le rouge,jaune(dans la combinaison il ne peut pas y avoir deux fois ou plus la meme couleur)\n-Le but du jeu et de deviner en un minimum de coup cette combinaison (5) \n-Si vous trouver la bonne combinaison en 5 coups ou moins alors vous gagner ou sinon vous perder")
     
    from random import *
    liste = ['bleu', 'vert', 'rouge', 'jaune']
    couleur1 = choice(liste)
    liste.remove(couleur1)
    couleur2 = choice(liste)
    liste.remove(couleur2)
    couleur3 = choice(liste)
    liste.remove(couleur3)
    couleur4 = choice(liste)
    liste.remove(couleur4)
     
    for i in range(100):
        z=5-(i+1)
        a = input("\nEntrer la premiere couleur de la combinaison: ")
        b = input("\nEntrer la deuxieme couleur de la combinaison: ")
        c = input("\nEntrer la troisieme couleur de la combinaison: ")
        d = input("\nEntrer la quatrieme couleur de la combinaison: ")
    def couleur1():
            global a
            if a == couleur1:
                a = 1
                print("\nLa première couleur est bonne")
     
            elif a == couleur2 or a == couleur4 or a == couleur3:
                a = 0
                print("\nLa première couleur entrée est dans la liste mais pas au bon endroit")
            elif a != couleur2 or a != couleur4 or a != couleur3:
                a = 0
                print("\nLa première couleur entrée n'est pas dans la liste")
    def couleur2():
            global b
            if b == couleur2:
                b = 1
                print("La deuxieme couleur est bonne")
            elif b == couleur3 or b == couleur4 or b == couleur1:
                b = 0
                print("La deuxième couleur entrée est dans la liste mais pas au bonne endroit")
            elif b != couleur3 or b != couleur4 or b != couleur1:
                b = 0
                print("La deuxième couleur entrée n'est pas dans la liste")
    def couleur3():
            global c
            if c == couleur3:
                c = 1
                print("La troisieme couleur est bonne")
            elif c == couleur2 or c == couleur4 or c == couleur1:
                c = 0
                print("La troisième couleur entrée est dans la liste mais pas au bon endroit")
            elif c != couleur2 or c != couleur4 or c != couleur3:
                c = 0            print("La troisième couleur entrée n'est pas dans la liste")
    def couleur4():
            global d
            if d == couleur4:
                d = 1
                print("La quatrieme couleur est bonne")
            elif d == couleur3 or d == couleur2 or d == couleur1:
                d = 0
                print("La quatrième couleur entrée est dans la liste mais pas au bon endroit")
            elif d != couleur2 or d != couleur4 or d != couleur3:
                d = 0            print("La quatrième couleur entrée  n'est pas dans la liste")
            if a+b+c+d ==4 or z==0:
                break
            else:
                    print("\nLa composition est fausse plus que",z,"essais")
    if d+a+b+c:
            print("\nYESSS!!!!! VOUS AVEZ GAGNE:)")
    else:
            print("\nOH DOMMAGE VOUS AVEZ PERDU:(")
    Merci pour votre aide, je suis son père et je veux juste l'aider a comprendre, leur prof ne veut pas répondre aux questions en plus il est en première et c'est pour l'option SNI merci de votre aide.[/QUOTE]
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [Python 3.X] Cours Python pour débutants : apprendre à programmer avec Python au lycée
    Par Community Management dans le forum Général Python
    Réponses: 3
    Dernier message: 04/07/2017, 12h29
  2. Jeu Mastermind en Python
    Par Black Widow dans le forum Général Python
    Réponses: 2
    Dernier message: 15/06/2013, 15h50
  3. Mastermind en Python 3
    Par tonykart13 dans le forum Tkinter
    Réponses: 0
    Dernier message: 21/05/2012, 16h57
  4. [Tutoriel] Programmation Python au lycée
    Par arnaudk dans le forum Contribuez
    Réponses: 7
    Dernier message: 13/12/2010, 14h18

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