Partage
  • Partager sur Facebook
  • Partager sur Twitter

prendre élément dans un dico et le ré-utiliser

Anonyme
    20 mars 2015 à 9:06:11

    Bonjour à tous, 

    Voilà j'ai du mal à avancer dans on programme x3

    Je résume: j'ai un fichier dico.txt avec un liste de mot (un mot par ligne), et un fichier .JS, mon but c'est de crée un programme python, qui va sélectionner une dizaine de mots dans le fichier .txt et de coller ses même mots dans le fichier .JS en encadrant le mot par "mots[0]="motsélectionner"; "

    Petit exemple de ce que doit ressembler le résultat : 

                                    mots[0]="TITANESQUE";

    mots[1]="ANABELLE";

    mots[2]="POMPIER";

    mots[3]="OBELISQUE";

    mots[4]="PLACARD";

    mots[5]="RADIATEUR";

    mots[6]="DEODORANT";

    ce que j'ai fait pour l'instant : 

    source = open("dico.txt", "r")
    for (
    destination = open("game.js", "w")
    
    
    
    
    
    fichier.close()

    Je sais qu'après avoir sélectionner les mots on doit les mettres dans un listes mais je sais pas comment prodéder pour sélectoinner un mot ni continuer x3

    Merci pour votre aide.

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 mars 2015 à 10:52:03

      • Déjà il faudra récupérer tout ton fichier contenant tes mots sous forme de liste (tu peux utiliser readlines)
      • Ensuite, tu peux utiliser sample du module random qui te permettra de prendre un nombre de mots aléatoirement dans ta liste
      >>> from random import sample
      >>> 
      >>> liste_numbers = list(range(5000))
      >>> sample(liste_numbers, 5)
      [1120, 4583, 4112, 2734, 4641]
      
      • Puis il te restera à écrire tout ces mots dans ton fichier .JS
      with open('...', 'w') as f:
          for word in wordlist:
              f.write(word)




      -
      Edité par Anonyme 20 mars 2015 à 10:56:41

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        25 mars 2015 à 15:44:36

        Salut et merci pour ton aide, en me basant sur ce que tu ma dit, j'ai fais ça 

        source = open("dico.txt", "r")  """tous les mots sont dans la variable source"""
        ligne = souce.readlines()       """ chaque mot de chaque ligne se trouve dans une variable ligne[], exemple, le mot de la 1er ligne ce trouve dans la variable ligne (1] """
        source.close() 
        
        with open('game.js', 'w') as destination:    """ on ouvre le fichier dans lequel on veut écrit et on met son contenu dans la variable destination """
            for ligne[] in ligne:
                destination.write("mot[0]="ligne[])
        

        Voilà je bloque ici, rien ne s'écrit dans le fichier .JS :/

        Merci beaucoup

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          25 mars 2015 à 15:58:42

          for ligne[] in ligne:


          Il y a un problème ici, ça serait plutôt

          for i, line in enumerate(ligne):
              destination.write("mot[{}]=".format(i) + line)
          
          

          Non testé

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            25 mars 2015 à 18:53:23

            nop, ne fonctionne toujours pas, quand j'ouvre le fichier .JS il n'y a toujours rien :3

            Merci

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              25 mars 2015 à 18:54:45

              Quel est le message d'erreur ?
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                26 mars 2015 à 15:25:52

                Quand j'exécute le fichier .py le programme se lance et se quitte très bien, sans méssage d'erreur, mais il n'écrit rien dans le fichier .JS, il ne fait pas ce pourquoi je doit le crée quoi.. :/

                Merci

                • Partager sur Facebook
                • Partager sur Twitter
                  26 mars 2015 à 16:53:25

                  Juste pour confirmer, oldProgrammer t'as donné ceci

                  with open("dico.txt", "r") as source:
                  
                  lignes = source.readlines()       
                  

                  with open('game.js', 'w') as destination:

                  for index, ligne in enumerate(lignes):
                      destination.write("mot[{0}] = {1}".format(index, ligne))
                  
                  </pre>

                  Ca fonctionne très bien chez moi...

                  -
                  Edité par Dan737 26 mars 2015 à 16:53:35

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    26 mars 2015 à 18:46:04

                    C'est bon, ça fonctionne, merci à vous deux !

                    Mais je ne comprend pas bien cette ligne de code :

                    "mot[{0}] = {1}".format(index, ligne)

                    index est bien liée à la postition du mot non ? 
                    Dans "mot[{0}] = {1}" le "1" vient s'additioner au "0"  se qui sert à afficher "mot[0]" "mot[1]" etc... non ?

                    Merci

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      26 mars 2015 à 19:42:39

                      Le 0 et le 1 sont les ordres dans lesquels on prendra les arguments de format. Si on avait fait l'inverse, c'est à dire 1 et 0, on aurait eu le paramètre ligne, puis le paramètre index pris en compte dans cet ordre.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      prendre élément dans un dico et le ré-utiliser

                      × 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