6
votes

Un programme qui ouvre un fichier texte, compte le nombre de mots et rapporte les mots TOP N commandés par le nombre de fois qu'ils apparaissent dans le fichier?

Bonjour à tous Im un débutant lors de la programmation, j'ai récemment reçu la possibilité de créer ce programme et je le trouve difficile. J'ai déjà conçu un programme qui calcule le nombre de mots dans une phrase saisis par l'utilisateur, est-il possible de modifier ce programme pour atteindre ce que je veux? XXX


1 commentaires

Montrez-nous ce que vous avez essayé en premier. Personne ici va écrire le code pour vous.


4 Réponses :


7
votes

Utilisez Collections.Counter Code> A > Pour compter les mots et Ouvrir () pour ouvrir le fichier:

>>> for word, count in c.most_common(): 
...     print word,count
...     
a 5
g 4
b 3
e 3
d 3


0 commentaires

1
votes

Pour ouvrir les fichiers, vous pouvez utiliser le Ouvrir fonction

from collections import Counter
with open('input.txt', 'r') as f:
    p = f.read() # p contains contents of entire file
    # logic to compute word counts follows here...

    words = p.split()

    wordCount = len(words)
    print "The total word count is:", wordCount

    # you want the top N words, so grab it as input
    N = int(raw_input("How many words do you want?"))

    c = Counter(words)
    for w, count in c.most_common(N):
       print w, count


1 commentaires

fantastique! Je me luttais avec la méthode de l'entrée merci beaucoup! Cependant, un problème, lorsque le programme me demande «combien de mots dois-je vouloir» I entrer un entier pour par exemple. 30 et cela me donne un message d'erreur massif



0
votes
import re
from collections import Counter

with open('file_name.txt') as f:
    sentence = f.read()

words = re.findall(r'\w+', sentence)
word_counts = Counter(words)

0 commentaires

0
votes

Si quelqu'un d'autre obtient le message d'erreur pour l'entrée, vous souhaitez essayer celui-ci,

code: xxx


0 commentaires