任务一:请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。
Eg:
Input:
"""Hello world! This is an example. Word count is fun. Is it fun to count words? Yes, it is fun!"""
Output:
{'hello': 1,'world!': 1,'this': 1,'is': 3,'an': 1,'example': 1,'word': 1,
'count': 2,'fun': 1,'Is': 1,'it': 2,'to': 1,'words': 1,'Yes': 1,'fun': 1 }
TIPS:记得先去掉标点符号,然后把每个单词转换成小写。不需要考虑特别多的标点符号,只需要考虑实例输入中存在的就可以。
text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""
def wordcount(text):
pass
代码如下:
text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""
def wordcount(text):
text = text.lower().strip().replace('\n', ' ')#转换为小写字母,去掉空行
for i in text:
if i=="," and i==".":#去掉标点符号
i=""
word_list=[]
word_list=text.split(' ')#用空格分割,生成一个单词列表
word_dict = {}#借助字典统计词频
for word in word_list:
if word in word_dict:
word_dict[word]+=1
else:
word_dict[word]=1
print(word_dict)
print(wordcount(text))
结果:
{'got': 2, 'this': 1, 'panda': 1, 'plush': 1, 'toy': 1, 'for': 3, 'my': 1, "daughter's": 1, 'birthday,': 1, 'who': 1, 'loves': 1, 'it': 5, 'and': 3, 'takes': 1, 'everywhere.': 1, "it's": 2, 'soft': 1, 'super': 1, 'cute,': 1, 'its': 1, 'face': 1, 'has': 1, 'a': 3, 'friendly': 1, 'look.': 1, 'bit': 1, 'small': 1, 'what': 1, 'i': 4, 'paid': 1, 'though.': 1, 'think': 1, 'there': 1, 'might': 1, 'be': 1, 'other': 1, 'options': 1, 'that': 1, 'are': 1, 'bigger': 1, 'the': 1, 'same': 1, 'price.': 1, 'arrived': 1, 'day': 1, 'earlier': 1, 'than': 1, 'expected,': 1, 'so': 1, 'to': 2, 'play': 1, 'with': 1, 'myself': 1, 'before': 1, 'gave': 1, 'her.': 1}
351

被折叠的 条评论
为什么被折叠?



