2011-04-09 197 views
0

編寫一個名爲LetterCount()的Python函數,它接受一個字符串作爲參數並返回一個字母計數的字典。python - Letter Count Dict

行:

print LetterCount("Abracadabra, Monsignor") 

應該產生輸出:

{'a': 5, 'c': 1, 'b': 2, 'd': 1, 'g': 1, 'i': 1, 'm': 1, 'o': 2, 'n': 2, 's': 1, 'r': 3} 

我想:

import collections 
c = collections.Counter('Abracadabra, Monsignor') 
print c 
print list(c.elements()) 

答案我得到這個樣子的

{'a': 4, 'r': 3, 'b': 2, 'o': 2, 'n': 2, 'A': 1, 'c: 1, 'd': 1, 'g': 1, ' ':1, 'i':1, 'M':1 ',':1's': 1, } 
['A', 'a','a','a','a','c','b','b','d','g', and so on 

與此代碼 進口藏品現在還好 C = collections.Counter( '胡言亂語,Monsignor'.lower())

打印Ç 正在此 {' A':5, 'R': 3,'b':2,'o':2,'n':2,'c:1,'d':1,'g':1,'':1,'i':1,', ':1's':1,}

但答案應該是這樣的 {'a':5,'c':1,'b':2,'d':1,'g':1,'' i':1,'m':1,'o':2,'n':2,'s':1,'r':3}

+0

看起來不錯?有什麼問題? – 2011-04-09 17:04:23

+0

不能得到它的小寫字母也是最後一行以A開頭並不需要回答 – Sarah 2011-04-09 17:22:22

+0

@Sarah:Google呢怎麼樣:https://encrypted.google.com/search?q=python+string+lowercase?如果你不需要第二行,那麼不要打印它。 – 2011-04-09 17:23:46

回答

4

You are close。請注意,在任務描述中,不考慮字母的大小寫。他們想要{'a': 5},你有{'a': 4, 'A': 1}

所以你必須先將字符串轉換爲小寫字母(I'm sure you will find out how)。

+0

@Sarah:溫斯頓在評論中說,字典在Python中是無序的。你不能影響它的打印方式。你的答案可能是正確的。 – 2011-04-09 18:34:03