python - 计算字符串中的元音

标签 python python-3.x

这就是我正在努力做的事情。我有一些文本,我试图过滤它并只打印出元音最多的前十个单词。这只是我的代码的一部分,但这是我不断收到错误的唯一部分。我得到的错误是:不可排序的类型 NoneType() < int().... 当我尝试对单词进行排序时,我收到该错误。 (如果我不清楚或令人困惑,请告诉我)如何修复此错误(在我的 topTen 函数中)?这是我正在谈论的一小段代码:

def topTen(text):
    words = textToWords(text)
    words.sort(key=countVowels, reverse=True)
    for ctr in range(10):
        print(words[ctr])

def textToWords(T):
    W = []

    for line in T:
        words = line.split()

        for word in words:
            W.append(word.lower())
    return W

def countVowels(st):
    ctr = 0
    for ch in st:
        if ch in "aeiou":
            ctr =+ 1
            return ctr

最佳答案

countVowels 的最后一行缩进不正确。当执行 if 语句时,函数将返回 1;当 if 语句从未被采用(该单词不包含元音)时,该函数返回 None。重新缩进 return ctr,使其位于循环之外,我认为该程序可以工作。

关于python - 计算字符串中的元音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22468153/

相关文章:

python - 安装 Kivy 时出现多个错误

python - Pandas Dataframe 逐行填充新列

python - 根据两个字符串值评估 Pandas DataFrame

python - 如何使用 [Any] 类型的参数调用 Any 类型的 Swift 函数

python-3.x - 如何使用 Python 和 ask-sdk( intent 链接)将 intent 委托(delegate)给 Alexa?

Python:将 numpy.array 附加到列表 python 会覆盖前面的元素

python - 错误 : recursion is detected during loading of "cv2" binary extensions. 检查 OpenCV 安装

python - 更改毒物工作目录

python-3.x - 设置了SPARK_HOME env变量,但是Jupyter Notebook没有看到它。 ( window )

python - 从请求中获取字节响应