书生大模型入门岛(Python 关卡)

任务一:Python实现wordcount

请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。

借助Vscode内置的终端工具,创建一个demos目录。在此目录中,我们将新建一个名为wordcount.py的文件,并实现以下任务代码编写:

import re

def process_text(text: str): 
    """
    对文本进行处理,将其转化为小写,移除特殊字符并用空格替换,最后返回单词列表。
    
    Args:
        text (str): 待处理的文本字符串。
    
    Returns:
        List[str]: 处理后的单词列表。
    
    """
    if text is None or text == "":
        return []
    return re.sub("[\W]+", " ", text.lower()).split()

def statistics(words: str): 
    """
    统计字符串中每个单词出现的次数
    
    Args:
        words (str): 需要统计的字符串
    
    Returns:
        dict: 字典类型,键为单词,值为单词出现的次数
    
    """
    word_counts = {}
    for word in words:
        if word in word_counts:
            word_counts[word] += 1
        else:
            word_counts[word] = 1
    return word_counts

def wordcount(text: str):
    """
    计算给定文本中单词的数量。
    
    Args:
        text (str): 待计算单词数量的文本字符串。
    
    Returns:
        int: 文本中单词的数量。
    
    """
    new_text = process_text(text)
    return statistics(new_text)

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))

 我们使用python_debug调试

任务二:Vscode连接InternStudio debug

首先需要安装Remote-SSH插件

此时会有弹窗提示输入ssh链接命令,回车后还会让我们选择要更新那个ssh配置文件,默认就选择第一个就行(如果你有其他需要的话也可以新建一个ssh配置文件)。

开发机的链接命令可以在开发机控制台对应开发机"SSH连接"找到,复制登录命令到vscode的弹窗中然后回车,vscode就会开始链接InternStudio的服务器,记得此时切回去复制一下ssh的密码,待会会用到。

在新的弹窗中将ssh密码粘贴进去然后回车。随后会弹窗让选择远程终端的类型,这边我们的开发机是linux系统,所以选择linux就好。

一:使用Vscode进行Python debug的流程

def add_numbers(a,b,c):
    sum = 0#这里其实覆盖了python自带的sum方法。
    sum +=a
    sum +=b
    sum +=c
    print("The sum is ",sum) 

if __name__ =='__main__':
    x,y,z = 1,2,3
    result = add_numbers(x,y,z)#图中代码这里写成1,2,3了
    print("The result of sum is ",result)

首先,在代码编辑窗口中,代码的关键行上设置断点,以便于调试。完成断点设置后,在Vscode左侧的工具栏,点击虫子图标。接下来,选择“运行和调试”选项,启动Debug模式

在代码行号旁边点击,可以添加一个红点,这就是断点(如果不能添加红点需要检查一下python extension是否已经正确安装)。当代码运行到这里时,它会停下来,这样你就可以检查变量的值、执行步骤等。

点击VSCode侧边栏的“Run and Debug”(运行和调试),然后点击“Run and Debug”(开始调试)按钮,或者按F5键。

单击后会需要选择debugger和debug配置文件,我们单独debug一个python文件只要选择Python File就行。然后你的代码会在达到第一个断点之前运行,在第一个断点处停下来。

当代码在断点处停下来时,你可以查看和修改变量的值。在“Run and Debug”侧边栏的“Variables”(变量)部分,你可以看到当前作用域内的所有变量及其值。

 

二:在vscode使用命令行进行debug

很多时候我们要debug的不止是一个简单的python文件,而是很多参数,参数中不止会有简单的值还可能有错综复杂的文件关系,甚至debug一整个项目。这种情况下,直接使用命令行来发起debug会是一个更好的选择。

vscode支持通过remote的方法连接我们在命令行中发起的debug server。首先我们要配置一下debug的config。

还是点击VSCode侧边栏的“Run and Debug”(运行和调试),单击"create a lauch.json file"

选择debugger时选择python debuger。选择debug config时选择remote attach就行,随后会让我们选择debug server的地址,因为我们是在本地debug,所以全都保持默认直接回车就可以了,也就是我们的server地址为localhost:5678。

配置完以后会打开配置的json文件,但这不是重点,可以关掉。这时我们会看到run and debug界面有变化,出现了debug选项。

现在vscode已经准备就绪,让我们来看看如何在命令行中发起debug。如果没有安装debugpy的话可以先通过pip install debugpy安装一下。

python -m debugpy --listen 5678 --wait-for-client ./myscript.py

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值