Partage
  • Partager sur Facebook
  • Partager sur Twitter

Programme python pour faire un morpion[AIDE]

    9 novembre 2019 à 17:18:10

    Bonjour alors j'ai besoin d'aide pour un programme( un morpion)  car il faut que je le modifie mais je ne sais pas comment faire.J'utilise le logiciel edupython
    Je dois partir de:
    def AfficheGrille(grille):
          for j in [0,3,6]:
             print("-----------------")
             for i in range(3):
                print("|"+str(grille[i+j]),end=' ')
             print("|")
          print("-----------------")7
    jeu=[0,1,0,0,2,0,0,2,1]
    AfficheGrille(jeu)
    donc avec ce programme j'optien un morpion mais on me demande:"Ecrire une fonction GrilleDebut(n) qui a pour paramètre un entier n et qui renvoie une liste de longueur n ne contenant que des zéros.Quelle instruction faut-il écrire pour obtenir la grille initiale du morpion?" et je n'arrive pas a le faire il y a aussi une deuxième question "Ecrire une fonction JeuPossible(L) qui renvoie True si la liste L donnée en paramètre contient un 0 et False sinon. A quoi correspondent ces deux valeurs booléenes pour une grille de morpion donnée?
    Donc je dois écrire 2 programme mais j'ai tout essayé j'ai toujours des erreurs de syntaxe donc si quelqu'un pourrais m'aider!
    Merci

    -
    Edité par AnnaRou 9 novembre 2019 à 17:25:10

    • Partager sur Facebook
    • Partager sur Twitter
      9 novembre 2019 à 17:19:27

      Bonjour,

      Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

      Pour plus d'informations, nous vous invitons à lire les règles générales du forum

      Merci de colorer votre code à l'aide du bouton Code

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: python;">Votre code ici</pre>.

      Mauvais titre

      Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

      Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

      De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

      Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

      Pour modifier votre titre, éditez le premier message de votre sujet.

      (titre originel : Aide pour un programme python)

      Liens conseillés

      • Partager sur Facebook
      • Partager sur Twitter
        10 novembre 2019 à 17:44:57

        Salut,

        Dans la fonction AficheGrille tu as déjà un exemple de boucle for. Ensuite pour créer une liste c'est pas compliqué il suffit de faire

        liste = []

        Pour ajouter une valeur dans une liste il faut écrire :

        liste.append(mon_objet_a_ajouter)

        ... donc dans ta fonction GrilleDebut tu as juste à créer une liste, faire une boucle qui lui ajoute des zéros (autant de zéro que le "n" en paramètre), et retourner la liste avec return liste

        Poste ton code pour voir.


        • Partager sur Facebook
        • Partager sur Twitter
          12 novembre 2019 à 16:57:59

          FredLass a écrit:

          Salut,

          Dans la fonction AficheGrille tu as déjà un exemple de boucle for. Ensuite pour créer une liste c'est pas compliqué il suffit de faire

          liste = []

          Pour ajouter une valeur dans une liste il faut écrire :

          liste.append(mon_objet_a_ajouter)

          ... donc dans ta fonction GrilleDebut tu as juste à créer une liste, faire une boucle qui lui ajoute des zéros (autant de zéro que le "n" en paramètre), et retourner la liste avec return liste

          Poste ton code pour voir.

          Justement je ne sais pas comment faire j'ai louper plusieurs cours donc c'est compliquer je ne sais pas comment le faire la prof ma dis qu'il faut initialiser une liste mais je ne sais pas 



          • Partager sur Facebook
          • Partager sur Twitter
            13 novembre 2019 à 11:26:33

            Bonjour AnnaRou,

            Initialiser une liste, ca veut dire faire liste = []. Apres ici c'est pas oblige car on est en python.

            Pour creer une liste de n 0, tu as plusieurs moyens en python.

            Le plus simple reste de faire : 

            def grilleDebut(n):
                return [0]*n
            
            jeu=grilleDebut(9)

            Apres pour ce qui est de JeuPossible(L), il faut verifier si un 0 est dans ta liste L, python qui est un langage de haut niveau fait ca tres simplement, pour peu que tu parles anglais : 

            def JeuPossible(L):
                return 0 in L

            Pour ce qui est de ce que represente cette fonction, c'est dans son nom. Dans ta grille de morpion, les 0 representent les cases vide, les 1 les ronds et les 2 les croix (ou inversement on s'en fiche un peu :p).

            Ta fonction JeuPossible(L) renvoie True si tu as au moins une case vide, c'est a dire si tu peux encore jouer un pion sur cette grille.

            • Partager sur Facebook
            • Partager sur Twitter
              13 novembre 2019 à 12:37:44 - Message modéré pour le motif suivant : Toute forme de publicité est interdite


                13 novembre 2019 à 17:27:01

                HugoCarpentier1 a écrit:

                Bonjour AnnaRou,

                Initialiser une liste, ca veut dire faire liste = []. Apres ici c'est pas oblige car on est en python.

                Pour creer une liste de n 0, tu as plusieurs moyens en python.

                Le plus simple reste de faire : 

                def grilleDebut(n):
                    return [0]*n
                
                jeu=grilleDebut(9)

                Apres pour ce qui est de JeuPossible(L), il faut verifier si un 0 est dans ta liste L, python qui est un langage de haut niveau fait ca tres simplement, pour peu que tu parles anglais : 

                def JeuPossible(L):
                    return 0 in L

                Pour ce qui est de ce que represente cette fonction, c'est dans son nom. Dans ta grille de morpion, les 0 representent les cases vide, les 1 les ronds et les 2 les croix (ou inversement on s'en fiche un peu :p).

                Ta fonction JeuPossible(L) renvoie True si tu as au moins une case vide, c'est a dire si tu peux encore jouer un pion sur cette grille.

                Oui je vois mais ducoup je le remplace par quoi je le met juste dans ce que j'ai fais a la base ?

                • Partager sur Facebook
                • Partager sur Twitter
                  14 novembre 2019 à 10:07:15

                  Tu as fais quoi a la base? Je ne peux pas deviner ^^'.

                  Si tu parles du code du quel tu dois partir, alors oui tu le mets juste derriere j'imagine, le code que je t'ai envoye est independant donc tu le mets ou tu veux en dehors de ta fonction afficherGrille

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 novembre 2019 à 11:45:15

                    Quand tu écris "def mafonction(): ..." tu déclares une fonction avec un corps, elle n'est pas exécutée.

                    Après tu peux l'exécuter quand tu veux :

                    def mafonction():
                    ...
                    
                    # appelle 2 fois
                    mafonction()
                    mafonction()
                    
                    
                    # appelle 3 fois
                    for i in range(3):
                      mafonction


                    Avec le code de Hugo ça donnerait

                    def afficheGrille(grille):
                    ...
                    
                    def grilleDebut(n):
                        return [0]*n
                     
                    jeu=grilleDebut(9)
                    
                    # appel de ta fonction
                    afficheGrille(jeu)



                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 novembre 2019 à 15:13:29 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


                      Programme python pour faire un morpion[AIDE]

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown