任务一
请实现一个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:记得先去掉标点符号,然后把每个单词转换成小写。不需要考虑特别多的标点符号,只需要考虑实例输入中存在的就可以。
我这里的实现比较简单
如果标点符号太多太杂可以用正则表达式简化
直接使用replace进行标点符号替换就行了 然后判断每个单词是否在字典里,如果在 就+1 如果不在 那就创建一个 =1
python实现
text1 = """Hello world!
This is an example.
Word count is fun.
Is it fun to count words?
Yes, it is fun!"""
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 countword(text):
text = text.lower()
text = text.replace("?", "").replace("!", "")
words = text.split()
word_dict = {}
for word in words:
if word in word_dict:
word_dict[word] += 1
else:
word_dict[word] = 1
return word_dict
print(countword(text))
任务二
请使用本地vscode连接远程开发机,将上面你写的wordcount函数在开发机上进行debug,体验debug的全流程,并完成一份debug笔记(需要截图)。
还是刚才的代码 丢到开发机上
如果我想知道它每次循环 都做了什么
在for循环下打个断点
可以看到临时变量这个word 它的内容为got 也就是第一个单词
在更复杂的情况下可以更详细的分析代码的运行步骤
然后可以进行下一步
逐步查看代码在每一行都干了什么
然后可以看到经过一次循环后 got的dict 增加了1
而word 被迭代到了this
总结下来的体验就是 和本地debug没什么差别(好像我本身写的代码也不多哈哈)