Programmation python, fouille de texte - Python - Programmation
Marsh Posté le 31-05-2013 à 21:40:57
Bonsoir,
utilise des balises pour ton code afin de le rendre plus lisible.
Ce que tu écris n'est pas conforme à "l'esprit" Python : pour compter les mots d'un texte, le plus simple (sauf si ton fichier source est gigantesque) est de lire le texte d'un coup sans te soucier des lignes (read()), de le couper (split()) et de placer chaque mot dans un dictionnaire au moyen de quelque chose de spécialisé : tu peux imiter par exemple http://stackoverflow.com/questions [...] -in-python
Marsh Posté le 08-06-2013 à 00:10:29
Hello,
Lorsque tu fais discours = fichier.read(), le fichier est parcouru en entier, et tout prochain appel à une fonction comme read ou readline renverra une string vide puisque tu as atteint la fin.
Cette ligne ne te sert à rien en fait, et c'est à cause d'elle que ton n reste à 0 puisque tu sors de la boucle for à la première itération.
Aussi tu peux utiliser le mot clé with qui permet entre autre de manipuler des fichiers sans se soucier des problèmes pouvant survenir à la fermeture.
Code :
|
Ce petit bout de code te permet de récupérer tous les mots de ton texte dans words.
Marsh Posté le 30-05-2013 à 14:15:41
Bonjour, étant débutant en programmation python je solicite l'aide des internautes afin de compter le nombre de mots d'un texte, la longueur moyenne, minimale et maximale des mots.
j'ai commencé par ceci
fichier=open("texte.txt","r" )
discour=fichier.read()
# Comptage du nombre de mots dans un texte
n = 0 # variable compteur
while 1:
ch=fichier.readline()
if ch=="":
break
li=ch.split()
n=n+len(li)
print "Ce fichier texte contient un total de", n," mots"
Mais cela me rdit qu'il y a 0 mots ce qui est faux. Je suis un peu bloqué donc je demande de l'aide ou comment je pourrais faire autremement.
Merci