2013-12-09 4 views
3

Мне нужно определить функцию vowelCount(). Вход представляет собой список слов, и я должен вернуть словарь, который возвращает 3 ключа. Они являются «более согласными», которые содержат слова, которые имеют больше согласных, чем гласные, «больше гласных», которые имеют больше гласных и «половинных гласных», которые имеют равное количество обоих.Python def vowelCount(), создающий словарь

Вот мой код до сих пор:

def voewlCount(wordList): 
    myDict = {} 
    vowelList = 'AEIOUaeiou' 
    contents = wordList.split() 
    for word in wordsList: 
     if vowelList in wordList == word: 
      myDict.append('half vowels') 
     elif vowelList in wordList > word: 
     myDict.append('more vowels') 
    else: 
     myDict.append('mostly consasants') 

Я получаю сообщение об ошибке при запуске оболочки, говоря, что это ошибка атрибута насыщая что ДИКТ не имеет атрибута «добавляемого»

I исправил мой код, но я до сих пор возникают проблемы ... вот мой новый код, Спасибо за помощь

def vowelContent(wordList): 
myDict = {'more consonants':[],'more vowels':[],'half vowels':[]} 
vowels = 'aeiouAEIOU' 
for word in wordList: 
    if vowels in wordList < word: 
     myDict['more consonants'].append(word) 
    elif vowels in wordLists > word: 
     myDict['more vowels'].append(word) 
    else: 
     myDict['half vowels'].append(word) 
return myDict 

say = ['do', 'you','know','the','definition','of','insanity','or','being','insane'] print(vowelContent(say))

Когда я печатаю функцию, все слова из списка выше помещаются в 'more consonants' ключ

+1

Словарь подобен хранилищу ключей/значений. Вы не добавляете словарь. Чтобы добавить элемент в словарь, вы пишете что-то вроде этого: myDict ['key'] = value – Rami

ответ

2

Вот некоторые рамки, чтобы помочь вам начать работу. Вы можете заполнить логику, которую я забыл.

def helper(word): 
    """returns the number of vowels and consonants in the word, respectively""" 
    # you fill this in 
    return n_vowels, n_consonants 

def voewlCount(wordList): #sic 
    result = {'more consonants': [], 'more vowels': [], 'half vowels': []} 
    for word in wordList: 
    nv, nc = helper(word) 
    if #something: 
     result['more consonants'].append(word) 
    elif #something_else: 
     result['more vowels'].append(word) 
    elif #the other thing: 
     result['half vowels'].append(word) 
    else: 
     # well this can never happen (or can it)? 
    return result 
+0

Может ли быть что-то другое, кроме «гласных» и «согласных» словом (например, пунктуации)? Помощник может быть «cmp» -подобной функцией, которая сравнивает количество гласных и согласных в слове (нам не нужны их подсчеты, только сравнение имеет значение) – jfs

Смежные вопросы