繁体   English   中英

从字符串中计算元音

[英]Counting the vowels from a string

这就是我想要做的。 我有一些文本,我试图过滤它,只打印出元音最多的前十个单词。 这只是我的代码的一部分,但这是我不断出错的唯一部分。 我得到的错误是:无法排序的类型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;否则,该函数将返回1。 当从不使用if语句(单词不包含元音)时,该函数将返回None。 重新缩进return ctr,使其不在循环内,我认为该程序可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM