這是我的家庭作業:編寫函數 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"
您應該將其聲明為列表或字典?,F在您的解決方案的問題是您正在檢查您已初始化為“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
提交
取消