数一串元音

2024-09-30 10:41:58 发布

您现在位置:Python中文网/ 问答频道 /正文

这就是我要做的。我有一些文字,我试图通过它过滤,只打印出前十个单词与最多的元音。这只是我代码的一部分,但这是唯一一部分,我不断得到一个错误。我得到的错误是:unorderable types 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

Tags: 代码textinforreturndef错误line
1条回答
网友
1楼 · 发布于 2024-09-30 10:41:58

count元音的最后一行缩进不正确。如果执行if语句,函数将返回1;如果从未执行if语句(单词不包含元音),函数将返回None。重新缩进return ctr,这样它就在循环之外了,我认为这个程序可以工作。你知道吗

相关问题 更多 >

    热门问题