从字符串中计算元音

时间:2014-03-18 00:27:30

标签: python python-3.x

这就是我想要做的。我有一些文字,我试图过滤它,只打印出元音最多的TOP TEN字。这只是我代码的一部分,但这是我不断收到错误的唯一部分。我得到的错误是:unorderable类型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

1 个答案:

答案 0 :(得分:1)

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