问题是您给它提供了大写的字符串,但是只比较了小写的值。可以通过添加
word = word.lower()到函数的开头来解决此问题。
def syllable_count(word): word = word.lower() count = 0 vowels = "aeiouy" if word[0] in vowels: count += 1 for index in range(1, len(word)): if word[index] in vowels and word[index - 1] not in vowels: count += 1 if word.endswith("e"): count -= 1 if count == 0: count += 1 return countprint(syllable_count('HAIRY')) # prints "2"


