Partage
  • Partager sur Facebook
  • Partager sur Twitter

Enumération des éléments d'une liste.

    3 septembre 2010 à 21:59:41

    Salut.
    Bon, j'ai déja posté ce code sur un autre topic mais cette fois-ci c'est pour un autre problème...

    J'ai un fichier qui contiens plusieurs lignes de tailles différentes, je dois chopé la plus
    longue est l'affiché.

    Le problème réside dans l'affichage de la ligne en question:

    def boucle2():
        global Liste2
        
        Max,a = '',0
        max = len(Liste2[a])  
        while (a < len(Liste2)):
            
            if (len(Liste2[a]) > max):
                 Max=Liste2[a]
            a +=1
            
            print (Max)
            
        
        
    
    def boucle():
     global x, Liste, y
     
     while 1:
      
       txt  = ObjetF.read(1)
       x+=txt
       y+=1
    
       if (txt == '\n' or txt == ''):
            Liste.append(y)
            Liste2.append(x)
            y=-1
            
       if (txt == ''):
            print(x)
            print(Liste)
            boucle2()
            break
            
    
    
    
    Liste=[]  
    Liste2=[]
    
    x=''
    y=0
    
    ObjetF = open("Monfichier")
    boucle()
    


    Remplacez le fichier "MonFichier" par un fichier texte de votre choix...
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      3 septembre 2010 à 23:12:06

      Citation

      Bon, j'ai déja posté ce code sur un autre topic mais cette fois-ci c'est pour un autre problème...



      Oui justement, je me souviens bien d'un code très moche, où LoupSolitaire t'avais conseillé un code très propre, une bonne façon de faire et les mauvaises habitudes à ne pas prendre.

      Mais tu n'écoutes pas, tu continues à être désordonné dans ta réflexion. Je suis désolé, c'est pas l'objectif du forum que de t'entraîner à penser des codes de si mauvaises manières.

      C'est affreux, tu mets des globals partout, inutiles, ta façon de récupérer les lignes n'est pas la bonne, on te l'a déjà dit.

      En réagissant de cette façon, ne t'attend pas à beaucoup de réponses, et en continuant ainsi, c'est même sans réponses que tu vas te retrouver.

      Il fallait bien qu'un zero t'en parle.

      Citation

      Le problème réside dans l'affichage de la ligne en question:



      Non le problème c'est de te poser déjà un vrai problème, précis!

      Ton fichier texte on veut le voir, tu nous parles de phrases et maintenant de lignes, ce qui est complètement différent.

      Et puis il est où le message d'erreur? Tu attends quoi comme réponse de l'interpréteur? Le fichier texte (l'entrée c'est super important de savoir)?

      Alors dernier conseil avant que je ne réponde plus à tes messages.

      Organise toi!

      1- présente l'entrée
      2- ton code
      3- les messages d'erreur
      4- ta sortie prévue

      • Partager sur Facebook
      • Partager sur Twitter
        4 septembre 2010 à 0:11:25

        bonjour,

        C'est vrai que ton code est plutôt farfelu, pour être franc, je n'ai pas eu le courage de comprendre son fonctionnement. Pourtant, ce que tu cherches à faire me semble relativement simple. Tu peux utiliser la méthode readlines() pour récupérer les lignes et la fonction max() pour trouver la plus grande.
        Voici un exemple plus pythonesque:

        def findMax(fileName):
            file = open(fileName)
            result = max(file.readlines())
            file.close()
            
            return result
            
        print findMax("Monfichier")
        
        • Partager sur Facebook
        • Partager sur Twitter
          5 septembre 2010 à 12:24:54

          Voici un exemple encore plus pythonesque:
          def findMax(fileName):
              with file as open(fileName):
                  return max(file.readlines())
          print findMax("Monfichier")
          
          • Partager sur Facebook
          • Partager sur Twitter
          yjltg.

          Enumération des éléments d'une liste.

          × 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