|
发表于 2023-4-5 15:28:42
|
显示全部楼层
- import re
- def readability(text):
- # 计算单词数量
- words = re.findall(r'\b\w+\b', text)
- n_words = len(words)
- # 计算句子数量
- sentences = re.findall(r'[.!?]+', text)
- n_sentences = len(sentences)
- # 计算字母数量
- letters = re.findall(r'[a-zA-Z]', text)
- n_letters = len(letters)
- # 每 100 个单词平均字母数
- L = n_letters / n_words * 100
- # 每 100 个单词平均句子数
- S = n_sentences / n_words * 100
- # 计算 Coleman Liau 指标
- index = 0.0588 * L - 0.296 * S - 15.8
- grade = round(index)
- # 输出结果
- if grade < 1:
- return 'Before Grade 1'
- elif grade >= 16:
- return 'Grade 16+'
- else:
- return f'Grade {grade}'
复制代码 |
|