编写元音计数器

这是我的家庭作业:


编写函数 vowelCount(),将字符串作为输入,计算并打印字符串中元音出现的次数。


vowelCount ('Le Tour de France') a、e、i、o、u 分别出现 1、3、0、1、1 次。


这是我到目前为止所做的,但它不起作用!我该怎么办?


def vowelCount(sentence):

    sentence = sentence.lower()

    vowels = "aeiou"

    count = 0

    if vowels in sentence:

        count = +1

        print("a, e, i, o, u, appear, respectively," count "times.")

我对 Python 很不好,以至于我永远无法独自完成作业。我还不如放弃学习。


开心每一天1111
浏览 149回答 1
1回答

当年话下

你正在做错误的初始化。vowels = "aeiou"您应该将其声明为列表或字典。现在您的解决方案的问题是您正在检查您已初始化为“aeiou”的“元音”是否存在于传入字符串中if vowels in sentence:所以在这里你正在检查“aeiou”,整个字符串是否存在于传入的句子中。您没有检查单个元音和单个字符。解决方案是我们喜欢从 0 到 n-1 遍历整个句子,其中 n 是它的长度并检查每个字符。 def count(string):    #we use hashmap to make lookup operation cheap    mp = {'a':1,'e':1,'i':1,'o':1,'u':1}    n = len(s)    count = 0    for i in range(n):  #iterating for every element in string        if s[i] in mp:   #checking if it is vowel or not            count += 1    return count
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python