ps:具体任务描述:Tutorial/docs/L0/Python/task.md at camp3 · InternLM/Tutorial · GitHub
任务一:Python实现wordcount
实现代码:
import string
def wordcount(text)->dict:
# Remove punctuation and make everything lowercase
text = text.translate(str.maketrans('', '', string.punctuation)).lower()
# Split the text into words based on whitespace.
words = text.split()
# Initialize an empty dictionary to hold word counts
word_counts = {}
# Count the frequency of each word
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
return word_counts
if __name__ == "__main__":
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.
"""
print(wordcount(text))
Output:
{'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}
任务二:Vscode连接InternStudio debug笔记
- 打开要调试的py文件。
- 设置断点。
例如我们想查看在text中的每一个单词是如何在for循环中逐一访问的,我们可以在line 14左侧点击一下,会出现一个红色的小圆点,这就是我们设置的断点。 - 启动调试。
按下F5
或点击“开始调试”按钮(绿色箭头)启动调试器。VSCode将在你设置的断点处暂停执行。也可以手动点击右上角Python Debugger:Debug Python File. - 调试工具。
当程序在断点处暂停时,你可以使用以下工具和操作。- 变量面板: 检查当前作用域中的变量值。
- 调试控制台: 运行调试命令或执行临时Python代码。
- 调用堆栈: 查看当前调用堆栈。
- 步入 (F11): 逐步进入函数调用。
- 单步执行 (F10): 逐行执行代码。
- 步出 (Shift + F11): 执行到当前函数的结束。
- 继续 (F5): 继续运行直到下一个断点。
当代码执行到断点处,程序将暂停。你可以在调试控制台查看变量值,例如words
和word_counts
,并逐步执行代码以观察字典如何被填充。