这就是我想要做的。我有一些文字,我试图过滤它,只打印出元音最多的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
答案 0 :(得分:1)
countVowels的最后一行没有正确缩进。当采用if语句时,函数将返回1;当从不采用if语句时(单词不包含元音),该函数返回None。重新缩进返回ctr,使其在循环外部,我认为该程序可以正常工作。