2017-03-30 71 views
-1

a。定義一個名爲wordlist的字符串列表。該列表應該包含至少10個字符串。如何檢查列表中的每個第三個元素並計算該字符串中的元音?

b。從第一個元素(即元素0)開始,檢查循環中列表的每個第三個元素(即第0個元素,第3個元素,第6個元素,第9個元素等等)並計算該字符串中元音的數量。

c。用適當的信息打印串中的元音和元音的數量。 d)。如果字符串包含3個或更多元音,則退出循環(不需要檢查其餘元素)。

e。如果在找到含有3個或更多元音的字符串後退出循環,請打印'發現帶有3個或更多元音的字符串!';否則打印「沒有找到合適的字符串。

輸出示例:

EXAMPLE OUTPUT

我有B部分的麻煩,如果有人能指導我在正確的方向,這將有助於

wordlist = ['hat' ,'bat' ,'cat','dog','bird','bear','lion','tiger','frog','mouse'] 
+2

你試過了什麼代碼? – Craig

+2

因此,我們爲你做你的功課,你甚至沒有嘗試自己得到100%?但你將如何通過考試? – repzero

+0

嘗試'打印([ '沒有找到合適的字符串。', '找到字符串,3點或更多的元音!'] [任何([_的_在[(_爲_在__如果_在 「AEIOU」],格式(__,len([_ for _ in _ in __ if _ in「aeiou」])))for __ in wordlist [:: 3]] if len (_ [False])> = 3])])'...或者在查看[ask]之後,您可能想要[編輯]您的問題。 – TemporalWolf

回答

0
every_third_string = (string for i, string in enumerate(wordlist) if i % 3 == 0) 
vowels = {'a': 0, 'e': 0, 'i': 0, 'o': 0 'u': 0} 
for string in every_third_string: 
    for char in string.lower(): 
     if char in vowels: 
      vowels[char] += 1 

這聽起來像你的作業一樣。請務必仔細,逐行地理解這一點,並理解它的工作原理。

例如,如果我們忽略if char in vowels會發生什麼? i % 3 == 0是什麼意思?如果我們嘗試i % 3 == 1,我們會得到什麼?

爲什麼很重要使用string.lower()

+0

我懷疑OP會有時間閱讀本文。他甚至沒有重新制定他的問題的自由。 –

0

這可能會幫助您:

wordlist = ['hat', 'bat', 'cat', 'dog', 'bird', 'bear', 'lion', 'tiger', 'frog', 'mouse'] 

if len(wordlist) < 10: 
    print("Error. list length must be grater than 10") 
    exit(-1) 
found = False 
for word in wordlist[::3]: 
    count = sum(map(word.lower().count, "aeiou")) 
    if count >= 3: 
     print('Found string with 3 or more vowels!') 
     found = True 
     break 
    print("The string %s contains %d vowel(s)" % (word, count)) 
if not found: 
    print("Did not find suitable string.") 
+0

'我在範圍內(0,len(wordlist),3):word = wordlist [i]'可以替換爲wordlist [:: 3]中的單詞:'使用[extended slices](https:// docs.python.org/2.3/whatsnew/section-slices.html)。 – TemporalWolf

+0

@TemporalWolf坦克兄弟,回答編輯:) –

0

首先,這看起來很像一個家庭作業問題,或者什麼的。也就是說,這不是要求家庭作業幫助的地方,而應該提出有關一般算法或策略的問題。也許不是,所以這是一個普遍的建議。

我不認爲它有一個具體的例子,但this page可能會有幫助。爲了獲得列表的每個第n個索引(從0開始),可以執行list [0 :: n]。這將返回一個新的列表,其中包含原始的每個第n個條目。

從那裏每記元音是非常基本的字符串操作和/或列表比較。請告訴我們你已經嘗試了什麼,我們可以給出更具體的反饋,但這可能是你應該使用的。

相關問題