入门任务二 Python 关卡
参考:
- 教程
- 任务
1 闯关任务
1.1 使用 Python 实现 wordcount
import string
def wordcount(text):
# 去除标点符号
text = text.translate(str.maketrans('', '', string.punctuation))
# 转换为小写
text = text.lower()
# 分割字符串成单词列表
words = text.split()
# 统计每个单词出现的次数
word_counts = {}
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
return word_counts
# 示例输入
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.
"""
# 调用函数并打印结果
result = wordcount(text)
print(result)
输出结果如下:
{‘got’: 2, ‘this’: 1, ‘panda’: 1, ‘plush’: 1, ‘toy’: 1, ‘for’: 3,
‘my’: 1, ‘daughters’: 1, ‘birthday’: 1, ‘who’: 1, ‘loves’: 1, ‘it’: 5,
‘and’: 3, ‘takes’: 1, ‘everywhere’: 1, ‘its’: 3, ‘soft’: 1, ‘super’:
1, ‘cute’: 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}
1.2 基于 VScode在开发机体验 debug 流程
首先,什么是 debug?
简单来说,“debug”就是能再程序中设置中断点并支持一行一行地运行代码,观测程序中变量的变化,然后找出并修正代码中的错误。而VSCode提供了一个非常方便的debug工具,可以帮助你更容易地找到和修复错误。
基于 VScode 进行 SSH 链接,链接到开发机,并在开发机创建用于 word count 的 python 文件,wordcount.py
,效果如下:
很重要的一点是,在基于 VScode在开发机体验 debug 流程前,要确保在远程开发机上安装对应的 VScode拓展插件,不然无法在开发机的python环境中打断点 debug,关键拓展如下:
在关键拓展安装完成后,我们发现,开发机侧的 python文件行号左侧已经可以打断点,即出现了“红点”,而这个“红点”在不安装 python拓展时是没有的!
下面,我们就可以体验基于 VScode在开发机体验 debug 流程了。我们可以设置如下断点,并进入 debug 模式。我们选择 python debugger 作为我们 debug的工具。由于我们只单独 debug 一个 python 文件,再选择 python file 即可进入 debug模式
进入 debug 模式后,我们可以看到变量区,这是我们 debug 的依据。同时。我们可以基于 debug 面板进行 Python debug 了,具体 debug 面板按钮介绍如下
debug面板各按钮功能介绍:
1: continue: 继续运行到下一个断点
2: step over:跳过,可以理解为运行当前行代码,不进入具体的函数或者方法。
3: step into:
进入函数或者方法。如果当行代码存在函数或者方法时,进入代码该函数或者方法。如果当行代码没有函数或者方法,则等价于step over。4: step out:退出函数或者方法, 返回上一层。
5: restart:重新启动debug
6: stop:终止debug
其中,最常用的就是按钮 1,即是一种单步调试方法,每次点击debug面板的按钮 1,代码将运行到下一个断点,但并不执行该断点的这行代码。我们简单在以下循环中进行几步单步调试,观察变量 word_counts
词典的变化:
for word in words: # 断点
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
至此,我们就完成了基于 VScode在开发机体验 debug 的流程。