首页 > 解决方案 > 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/

标签: pythoncs50

解决方案


推荐阅读