标签:
给你一个其中包含不同的英文字母和标点符号的文本,你要找到其中出现最多的字母,返回的字母必须是小写形式,当检查最想要的字母时,不区分大小写,所以在你的搜索中
"A"
=
=
"a"
。 请确保你不计算标点符号,数字和空格,只计算字母;
Hello World!
How do you do?
One
Oops!
AAaooo!!!!
abe
l
o
e
o
a
a
先删除非字母的字符并将所有字母转化成小写,再统计每个字母的词频,然后根据最大词频找到对应的字母,结果可能有多个,没关系,排下序就好,最后将排序后的列表的第一个值输出即可。
import re def checkio(text): text = re.sub(r‘[^a-zA-Z]‘, ‘‘, text.lower()) mydict = {} for letter in set(text): mydict[letter] = text.count(letter) mylist = [] for each_item in mydict.keys(): if mydict[each_item] == max(mydict.values()): mylist.append(each_item) mylist.sort() return mylist[0] text = ‘‘‘Hello World! How do you do? One Oops! AAaooo!!!! abe‘‘‘ for line in text.split(‘\n‘): print checkio(line)
标签:
原文地址:http://www.cnblogs.com/yestreenstars/p/5482284.html