readctrl / code /old /FH_esV2.py
shahidul034's picture
Add files using upload-large-folder tool
1db7196 verified
import re
import separasilabas
def count_words(text):
text = ''.join(filter(lambda x: not x.isdigit(), text))
clean = re.compile(r'\W+')
text = clean.sub(' ', text).strip()
return len(text.split()) if len(text.split()) > 0 else 1
def count_sentences(text):
text = text.replace("\n", "")
sentence_end = re.compile(r'[.:;!?\)\()]')
sentences = sentence_end.split(text)
sentences = list(filter(None, sentences))
return len(sentences) if len(sentences) > 0 else 1
def count_all_syllables(text):
clean = re.compile(r'\W+')
words = clean.sub(' ', text).strip().split()
silabizer = separasilabas.silabizer()
total = 0
for word in words:
total += len(silabizer(word))
return total if total > 0 else 1
def Pval(text):
syllables = count_all_syllables(text)
words = count_words(text)
return round(syllables / words, 2)
def Fval(text):
sentences = count_sentences(text)
words = count_words(text)
return round(words / sentences, 2)
def fernandez_huerta(text):
return round(206.84 - 60 * Pval(text) - 1.02 * Fval(text), 2)