当前位置:网站首页 > C++编程 > 正文

code.top(codetop企业题库)



目录

任务一:完成Leetcode 383, 笔记中提交代码与leetcode提交通过截图

任务二:使用VScode连接开发机,用任务一的代码走一遍debug的流程并做笔记

1. 在VSCode进行Python debug的流程

(1)本地机VSCode远程连接开发机

(2)激活已有的conda环境

(2)首次debug配置

(3)设置断点并启动debug

2. 在VSCode使用命令行进行debug

(1)配置debug的config,改为remote方式

(2)在VSCode上输入debug命令行

(3)在本地机powerShell中发起debug server

(4)在VSCode单击debug按钮开启debug

3. 简化命令

4. 下面是一段调用书生浦语API实现将非结构化文本转化成结构化json的例子,其中有一个小bug会导致报错。请大家自行通过debug功能定位到报错原因并做修正。

(1)首先修改api_key使其不要明文出现

(2)debug

可选任务三:使用VScode连接开发机后使用pip install -t命令安装一个numpy到开发机/root/myenvs目录下,并成功在一个新建的python文件中引用

1. VSCode连接开发机

2. 使用pip install -t命令安装一个numpy到开发机/root/myenvs目录下

3. 在一个新建的python文件中引用


        Leetcode 383解答代码如下代码所示,提交通过截屏如下图所示:

 
   
1. 在VSCode进行Python debug的流程
(1)本地机VSCode远程连接开发机
(2)激活已有的conda环境

        我在这里直接使用share目录下的conda环境,激活后可以看见终端反应:

 
   
(2)首次debug配置

        打开你的Python文件,点击左侧活动栏的“运行和调试”图标。

        首次debug需要配置以下,点击“create a launch.json file”,选择python debugger后选择“Python File” config,可以看见现在左边的Python Debugger模式是Current File

(3)设置断点并启动debug

        在代码行号旁边点击,可以添加一个红点,这就是断点(如果不能添加红点需要检查一下Python扩展是否已经正确安装)。当代码运行到这里时,它会停下来,这样你就可以检查变量的值、执行步骤等。我们在第6行:把ransomNote转化成字典形式ran_dict统计其出现的字母类型及频率 的代码处打上断点,并在左侧的WATCH处添加变量:mag_dict ran_dict来便于观察

        当代码在断点处停下来时,你可以查看和修改变量的值。我们可以看见,此时还未进行subtract操作,mag_dict和ran_dict的值在上图左侧WATCH可见。

        再往下运行一步,执行substract操作,从mag_dict中减去ran_dict,得到新的mag_dict的值:

        可以发现此时字母a对应的value为-1,说明mag_dict中不含字母a,故return False。

        同理其他两个测试案例,在此不多赘述。

2. 在VSCode使用命令行进行debug
(1)配置debug的config,改为remote方式

        vscode支持通过remote的方法连接我们在命令行中发起的debug server。首先我们要配置一下debug的config,点击上方绿色按钮的add configuration

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

        可以看见此时左上角的Python Debugger变为Remote Attach,launch.json文件变成以下形式

(2)在VSCode上输入debug命令行

        我的test.py文件的位置是/root/debug_py/test.py,故下面命令行中可见其路径

 
   
(3)在本地机powerShell中发起debug server

(4)在VSCode单击debug按钮开启debug

       可以看见此时进入了远程debug模式,接下来的操作和上面的是一样的:

        如下,单步调试至mag_dict更新,发现有value为-1,故return False:

3. 简化命令

        这边有个不方便的地方,python -m debugpy --listen 5678 --wait-for-client这个命令太长了,每次都打很麻烦。这里我们可以给这段常用的命令设置一个别名,在Linux系统中,可以对 ~/.bashrc 文件中添加以下命令:

 
   

        然后执行:

 
   

        即可使用简便命令pyd来执行debug操作。用之前的test.py(计算1到9的和)作展示:

        可以看见,调试成功,输出1到9的和为45。

4. 下面是一段调用书生浦语API实现将非结构化文本转化成结构化json的例子,其中有一个小bug会导致报错。请大家自行通过debug功能定位到报错原因并做修正。
(1)首先修改api_key使其不要明文出现
 
   
(2)debug

        使用VSCode进行debug,选择Python debugger: Current files,确保你的launch.json文件中包含Current files这一部分,然后打上断点,进行debug,逐步调试发现问题如下:

        执行到这一步发现了这一报错,大致理解一下这段报错的意思是返回的JSON 数据无法解码,但是我们可以在watch行看见res作为函数internlm_gen的返回值的类型和内容如下:

        将res的值复制出来,发现如下:

 
   

        说明res是str类型而且返回值是正确的,但是执行到下一步的时候就返回如上的报错,那么问题出在了这一句上:

 
   

        查询这个函数可知: 的输入必须是一个有效的 JSON 格式字符串,而res字符串包含了一些多余的字符(如 ```json 和换行符),因此不能直接作为有效的 JSON 进行解析。

        因此我们需要修改这个函数,我们已知任务要求是将非结构化文本转化成结构化json,询问gpt是否有相关的函数可以实现这个目的,gpt提示有dumps函数可以实现:

 
   

        故将代码这里修改为json.dumps函数即可,全部修改后的代码如下:

 
   

        可以看见此时运行代码终端输出如下:

1. VSCode连接开发机
2. 使用pip install -t命令安装一个numpy到开发机目录下

        输入命令:

 
   

        可以在终端看见如下成功安装numpy包的信息:

3. 在一个新建的python文件中引用
 
   

        接下来新建一个py文件:

 
   

        编辑文件: 使用vim文本编辑器打开example.py,输入i进入插入模式,并添加以下代码,然后按Esc退出插入模式,输入:wq并按Enter保存并退出vim,最后使用python运行这段代码:

 
   

        最后得到输出结果如下截屏所示:

到此这篇code.top(codetop企业题库)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 找不到msvcp 140.dll怎么办(win10找不到msvcp140.dll是什么意思)2026-02-26 09:36:08
  • gitclone指定版本(git 指定版本)2026-02-26 09:36:08
  • ocd甲骨文(甲骨文ocm)2026-02-26 09:36:08
  • 锁表头excel(xls锁定表头)2026-02-26 09:36:08
  • sigmod会议审稿时间(sigmod会议 ccf)2026-02-26 09:36:08
  • dbf文件怎么转换成excel(dbf文件怎么转换成文本命令)2026-02-26 09:36:08
  • msvcp140文件被占用怎么办(msvcp140_1.dll文件被占用怎么办)2026-02-26 09:36:08
  • edge浏览器 修复(edge浏览器修复错误代码0xc000006)2026-02-26 09:36:08
  • console线和串口线一样吗(console 线)2026-02-26 09:36:08
  • cmake中文手册(cmake中文手册pdf 百度云)2026-02-26 09:36:08
  • 全屏图片