Bootstrap

书生实战营第四期-第二关python

一、任务1:完成Leetcode 383

1.代码

class Solution:
    def canConstruct(self,ransomNote: str, magazine: str) -> bool:  
    # 创建一个字典来存储 magazine 中每个字符的出现次数  
         char_count = {}  
    # 遍历 magazine,统计每个字符的出现次数  
         for char in magazine:  
             if char in char_count:  
                 char_count[char] += 1  
             else:  
                 char_count[char] = 1  
    # 遍历 ransomNote,逐个检查字符是否足够  
         for char in ransomNote:  
             if char not in char_count or char_count[char] == 0:  
            # 如果字符不存在或者字符的数量已经用完  
                 return False  
             char_count[char] -= 1  
    # 如果所有字符都检查完毕且足够,返回 True  
         return True  

2.通过截图

               

二、任务2:调用书生浦语API实现将非结构化文本转化成结构化json的例子,其中有一个小bug会导致报错。通过debug功能定位到报错原因并做修正。

1.获取api key

2.使用InternLM api

直接运行会报错:ModuleNotFoundError: No module named 'openai'

使用debug功能定位到报错原因

修正(解决办法):pip install openai

再次运行,成功

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

1.安装numpy库

2.引用 

四、附笔记

1.Conda虚拟环境是Python开发中不可或缺的一部分,它允许你在不同的项目中使用不同版本的库,避免依赖冲突。Conda是一个强大的包管理器和环境管理器。 

2.pip是Python官方的包管理工具,全称为“Python Package Installer”,用于方便地安装、升级和管理Python包。

3.VSCode是由微软开发一款轻量级但功能强大的代码编辑器,开源且完全免费。它拥有丰富的插件生态系统、跨平台支持、以及内置的Git控制功能,为开发者提供了高效便捷的编码体验。

4.“debug”就是能再程序中设置中断点并支持一行一行地运行代码,观测程序中变量的变化,然后找出并修正代码中的错误。而VSCode提供了一个非常方便的debug工具,可以帮助你更容易地找到和修复错误。

5.debug面板各按钮功能介绍

continue: 继续运行到下一个断点。

step over: 单步跳过,可以理解为运行当前行代码,不进入具体的函数或者方法。

step into: 单步进入。如果当前行代码存在函数调用,则进入该函数内部。如果当前行代码没有函数调用,则等价于step over

step out: 单步退出函数,返回到调用该函数的上一层代码。

restart: 重新启动调试。

stop: 终止调试。

;