EnglishPal/app/WordFreq.py

26 lines
914 B
Python
Executable File

###########################################################################
# Copyright 2019 (C) Hui Lan <hui.lan@cantab.net>
# Written permission must be obtained from the author for commercial uses.
###########################################################################
from wordfreqCMD import remove_punctuation, freq, sort_in_descending_order
import string
class WordFreq:
def __init__(self, s, max_word_length=30):
self.s = remove_punctuation(s)
self.max_word_length = max_word_length
def get_freq(self):
lst = []
for t in freq(self.s, self.max_word_length):
word = t[0]
if len(word) > 0 and word[0] in string.ascii_letters:
lst.append(t)
return sort_in_descending_order(lst)
if __name__ == '__main__':
f = WordFreq('BANANA; Banana, apple ORANGE Banana banana.', max_word_length=30)
print(f.get_freq())