书生大模型实战闯关–第二关
任务一
题目
使用Python实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。
输入文本:
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.
"""
思路
- 去除字符串中的标点符号
- 把字符串转换成小写
- 将字符串拆分成单词
- 输出结果 单词:单词的个数
代码
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):
keys = text.split()
res={}
for key in keys:
if key in res:
res[key] += 1
else:
res[key] = 1
return res
print(wordcount(text))
结果
任务二
使用本地vscode连接远程开发机,将上面你写的wordcount函数在开发机上进行debug,体验debug的全流程,并完成一份debug笔记。
debug流程
设置断点
开始调试
(在左侧栏可以看到变量此时的状态。)
将文本分割成单词。
使用for循环遍历words
列表中的每个单词。
判断当前单词是否已经在字典res
中。
如果在字典res
中,就将其计数加一;如果不存在,则添加该单词并设置其计数为1。
最后return返回结果字典res
,输出结果。
代码调试完毕,vscode调试简洁高效。
总结
本次闯关,我们用Python实现一个wordcount函数,在途中,我们学习了字符串的split()
方法,将文本按照空格分割成一个个单词,并存储在words
列表中;学习了使用for循环遍历words
列表;还学习了vscode的调试方法。