这是我的家庭作业:编写函数 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 很不好,以至于我永远无法独自完成作业。我还不如放弃学习。
1 回答
当年话下
TA贡献1890条经验 获得超9个赞
你正在做错误的初始化。
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
添加回答
举报
0/150
提交
取消