python - CS50 pset6 与 python 的可读性
问题描述
我正在研究项目的可读性。我正确地得到了单词、字符和句子的数量;但是,当我尝试将这些应用于公式时,我得到了错误的数字。如果有人帮助我发现我的错误,我将不胜感激。
例如,如果我将此文本作为输入:“您喜欢这里还是那里?我不喜欢这里或那里。我在任何地方都不喜欢它们。” 我的输出 index 应该是 2,但我得到的是 9。
def main():
text = input("Text: ")
words = len(text.split())
sentence = text.count('.') + text.count('!') + text.count('?')
letter = letters(text)
print(f"Total words: {words} \nTotal sentences: {sentence} \nTotal characters: {letter}")
L = letter / words * 100
S = sentence / words * 100
index = 0.0588 * L - 0.296 * S - 15.8
print(round(index))
def letters(text):
chars = 0
for i in range(len(text)):
if text[i].isalpha:
chars += 1
return chars
if __name__ == "__main__":
main()
该程序使用 Coleman-Liau 指数计算给定文本的大致年级水平。这是一个属于cs50课程的项目:https ://cs50.harvard.edu/x/2020/psets/6/readability/
解决方案
推荐阅读
- c - 如何正确安全地释放()所有内存使用C中的嵌套结构?
- android - 为什么我在运行我的项目时会收到这个 google guava 错误?
- css - 如何在 vuetify 中删除容器边距?
- mysql - Alter table default character set 修改 MySQL 5.6 中的行
- hadoop - 如何在 Apache Hadoop 2 中使用 HDFS Intra-DataNode 磁盘平衡器?
- javascript - 通过 Id 获取元素更改样式元素
- javascript - 如何使用 excel 文件发出 post 请求?
- python - 列表的最大功能无法正常工作
- python - Python:两个解析语句不能一起工作
- java - 从持续时间字符串到 milis 是否有任何开箱即用的映射器?