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

Python Discussion :

Fonction qui compte le nombre de paragraphes dans un fichier


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 43
    Points : 22
    Points
    22
    Par défaut Fonction qui compte le nombre de paragraphes dans un fichier
    Bonsoir je dois coder une fonction qui renvoie le nombre de paragraphes dans un fichier mais mon code ne compte pas bien le nombre de paragraphes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    def para():
     
        fichier=open("C:\E-BOOKS\python\doc.txt","r")
     
        nb=0
        for lignes in fichier:
            contenu=fichier.readline()
            if contenu=="":
                nb+=1
     
     
        return nb
    Cordialement

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Citation Envoyé par GUYZOO Voir le message
    Je dois coder une fonction qui renvoie le nombre de paragraphes dans un fichier mais mon code ne compte pas bien le nombre de paragraphes
    Il faut apprendre à utiliser la fonction "print" pour voir ce que sont "lignes" et "contenu" et essayer de comprendre pourquoi votre code ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        for lignes in fichier:
            contenu=fichier.readline()
            print (lignes)
            print(contenu)
    apprendre à mettre au point son programme (vérifier que ce qu'on écrit fait bien ce qu'on attend) fait partie de l'exercice (et l'apprentissage de ces techniques en font l'intérêt).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 43
    Points : 22
    Points
    22
    Par défaut
    En faisant les tests J'ai refait la methode qui compte le nombre de paragraphes mais je constate que lorsque j'ai deux paragraphes ça compte bien mais au-delà ça ne compte plus bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    def nbPara(self):
                """Methode pour compter le nombre de paragraphes"""
                self.cpt=0
                self.fichier=open("C:\E-BOOKS\python\doc.txt","r")
     
                for self.lines in self.fichier.readlines():
                    if self.lines=='\n':
                        self.cpt+=1
                self.fichier.close()
                return self.cpt

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Si vous ajouter un paramètre à votre fonction, pourquoi passer "self" plutôt que le nom du fichier?
    D'autant qu'en supposant que cette fonction soit méthode, quel intérêt d'avoir cpt, fichier, line comme variables d'instance?
    A part çà relisez votre code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
             for line in self.fichier.readlines():
                    if self.lines=='\n':
                        self.cpt+=1
    il ajoute un paragraphe lorsque la ligne se réduit au seul caractère '\n'.
    Si "çà compte pas bien", c'est que vous regardez votre fichier avec un éditeur de texte, vous ne voyez pas le caractère '\n' mais des lignes sans texte ou plutôt "blanches". Mais une ligne contenant des espaces ou des tabulations avant ce '\n' ne seront pas moins blanches sans pour autant vérifier la condition lines=='\n'... Il faut supprimer ces "blancs" avant de tester. .lstrip et .strip sont des méthodes qui font çà assez bien (mais pas toujours).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [VBS] Fonction qui compte le nombre de lignes dans un fichier texte
    Par ProgElecT dans le forum Vos Contributions VBScript
    Réponses: 0
    Dernier message: 03/05/2012, 13h48
  2. Réponses: 3
    Dernier message: 19/08/2010, 18h21
  3. Fonction qui compte le nombre d'éléments.
    Par bakomen dans le forum Débuter
    Réponses: 1
    Dernier message: 12/06/2009, 09h19
  4. probleme dans une fonction qui affiche le nombre de ligne du texte
    Par étoile de mer dans le forum Débuter
    Réponses: 7
    Dernier message: 19/09/2008, 08h25
  5. Fonction qui compte le nombre de jours ouvrés par mois
    Par griese dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/07/2006, 15h32

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