当前位置: 首页 > news >正文

第四期书生大模型实战营(【入门岛】- 第2关 | Python 基础知识 )

文章目录

  • 1. 任务介绍
  • 2. 任务一
    • 2.1. 提交代码与leetcode提交通过截图
    • 2.2. 解决方案的代码
      • 1. 解释:
      • 2. 示例:
  • 3.任务二
    • 3.1. 使用VScode连接开发机
      • 1.打开VSCODE
      • 2.添加SSH链接
      • 3.VSCODE链接远程环境
    • 3.2. 本地vscode在远程开发机上新建Leetcode383.py文件
    • 3.3. Leetcode383.py代码设置断点
    • 3.4.准备调试Leetcode383.py函数
    • 3.5. 运行和调试
    • 3.6. 查看函数体内变量
    • 3.7. 打印统计结果
  • 4. 任务三(可选)

1. 任务介绍

任务概览

任务类型任务内容预计耗时
闯关任务Leetcode 383(笔记中提交代码与leetcode提交通过截图)15mins
闯关任务Vscode连接InternStudio debug笔记15mins

闯关作业总共分为两个任务,两个任务均完成视作闯关成功。 请将作业发布到知乎、CSDN等任一社交媒体,将作业链接提交到以下问卷,助教老师批改后将获得 50 算力点奖励!!! 提交地址:https://aicarrier.feishu.cn/share/base/form/shrcnUqshYPt7MdtYRTRpkiOFJd

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

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

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

2. 任务一

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

2.1. 提交代码与leetcode提交通过截图

在这里插入图片描述

2.2. 解决方案的代码

这个题目是要求判断字符串 ransomNote 是否可以由字符串 magazine 里的字符构成。每个字符在 magazine 中只能使用一次。这可以通过字符的计数来解决。

思路是使用一个字典(或者 collections.Counter)来统计 magazine 中每个字符的出现次数,然后遍历 ransomNote,每遇到一个字符就从字典中减少对应字符的计数,如果某个字符计数不足,说明无法构成 ransomNote

以下是解决方案的代码:

from collections import Counterclass Solution(object):def canConstruct(self, ransomNote, magazine):""":type ransomNote: str:type magazine: str:rtype: bool"""# 统计 magazine 中每个字符出现的次数magazine_count = Counter(magazine)# 遍历 ransomNote 中的每个字符for char in ransomNote:# 如果该字符不在 magazine_count 中或者计数为 0,返回 Falseif magazine_count[char] <= 0:return False# 减少对应字符的计数magazine_count[char] -= 1return True

1. 解释:

  1. Counter(magazine):使用 collections.Counter 来统计 magazine 中每个字符的出现次数,返回的是一个类似字典的对象。
  2. 遍历 ransomNote:对 ransomNote 的每个字符进行遍历,如果某个字符在 magazine_count 中的值为 0,说明字符数量不足,返回 False
  3. 计数减少:如果字符在 magazine 中有剩余,计数减一,继续检查下一个字符。
  4. 最终返回 True:如果所有字符都能从 magazine 中找到,则返回 True

2. 示例:

# Example 1
ransomNote = "a"
magazine = "b"
sol = Solution()
print(sol.canConstruct(ransomNote, magazine))  # Output: False# Example 2
ransomNote = "aa"
magazine = "ab"
print(sol.canConstruct(ransomNote, magazine))  # Output: False# Example 3
ransomNote = "aa"
magazine = "aab"
print(sol.canConstruct(ransomNote, magazine))  # Output: True

这种方法的时间复杂度为 O(m + n),其中 mmagazine 的长度,nransomNote 的长度。

3.任务二

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

3.1. 使用VScode连接开发机

1.打开VSCODE

在这里插入图片描述

2.添加SSH链接

在这里插入图片描述
在这里插入图片描述

3.VSCODE链接远程环境

在这里插入图片描述
在这里插入图片描述

3.2. 本地vscode在远程开发机上新建Leetcode383.py文件

选择文件->新建->python file新建py类型文件
在这里插入图片描述

3.3. Leetcode383.py代码设置断点

调用函数入口处设置断点。
在这里插入图片描述

3.4.准备调试Leetcode383.py函数

  • ①点击“运行和调试”按钮(或Ctrl+Shift+D键命令调出“运行和调试”)
  • ②点击调出的运行和调试

在这里插入图片描述

3.5. 运行和调试

点击单步调试或者快捷键F11(鼠标放在按钮上会显示出快捷键)

在这里插入图片描述

3.6. 查看函数体内变量

在这里插入图片描述

3.7. 打印统计结果

  • 断点设置处继续点击单步调试,代码运行到下一行,继续点击单步调试,调式结束。
    在这里插入图片描述

  • 终端打印出结果。

在这里插入图片描述

4. 任务三(可选)

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

在VS Code中连接开发机并通过 pip install -t 命令将 numpy 安装到指定的路径,以下是步骤:

  1. 远程连接开发机
    • 在 VS Code 中,安装并打开 “Remote - SSH” 插件。
    • F1 打开命令面板,选择 Remote-SSH: Connect to Host 并输入开发机的 SSH 地址。
    • 成功连接后,VS Code 将会在开发机上打开一个新的窗口。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 选择正确的解释器
    • 进入到开发机的 VS Code 窗口中,按 Ctrl+Shift+P 打开命令面板,选择 Python: Select Interpreter
    • 选择对应的 Python 解释器,或手动指定解释器路径,例如 ./.conda/bin/python

在这里插入图片描述
在这里插入图片描述

  1. 安装 numpy
    • 打开 VS Code 中的终端 (`Ctrl+``)。
    • 执行以下命令,将 numpy 安装到指定路径(例如 /root/myenvs):
      pip install numpy -t /root/myenvs
      
    • 这会将 numpy 安装到开发机的 /root/myenvs 目录下。

在这里插入图片描述
在这里插入图片描述

之前已经安装过了,没有安装过如下。

(base) root@intern-studio-40058113:~# pip install numpy -t /root/myenvs
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting numpyDownloading https://pypi.tuna.tsinghua.edu.cn/packages/23/69/538317f0d925095537745f12aced33be1570bbdc4acde49b33748669af96/numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.3/16.3 MB 68.9 MB/s eta 0:00:00
Installing collected packages: numpy
Successfully installed numpy-2.1.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

安装完成就会生成 /root/myenvs 目录,目录下有安装的numpy。
在这里插入图片描述

  1. 在 Python 文件中引用 numpy
    • 在开发机上新建一个 Python 文件(如 test_numpy.py)。
    • 为了让 Python 找到这个路径,需要在文件开头添加路径配置:
      import sys
      sys.path.append('/root/myenvs')
      import numpy as np
      print(np.__version__)  # 检查 numpy 是否导入成功
      
    • 保存文件后运行,若没有报错,说明引用成功。

这样配置后,你就能在新建的 Python 文件中成功引用安装在指定目录下的 numpy

在这里插入图片描述

在这里插入图片描述


http://www.mrgr.cn/news/59167.html

相关文章:

  • Web应用框架-Django应用基础(3)-Jinja2
  • ChatGPT结合Excel与VBA:迈向AI办公智能化与高效化
  • 使用.NET MAUI开发第一个安卓APP
  • 信息化教学的实践:Spring Boot平台构建
  • 【Kubernetes实战】Kubernetes集群搭建(虚拟机环境,一主两从)
  • 设计模式(二)工厂模式详解
  • 【Linux】SQLite 数据库安装教程(Ubuntu 22.04)
  • Linux之web服务器
  • 快捷键记忆
  • 变频器启动、停止、正/反转控制电路原理详解
  • Leecode热题100-287.寻找重复数
  • 实测体验Claude 3.5升级版:AI首次实现直接操控电脑!
  • Pyside6 布局管理器(3)--- QGridLayout的使用
  • Python使用unrar遇到的问题及解决
  • API网关的作用--为什么微服务需要一个API网关?
  • 计算机网络中网络层发送报文时IP地址的变化,交换器的广播功能及相关设备功能
  • 【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin
  • Ubuntu24.04配置samba共享
  • ubuntu22.04安装qemu-9.1并在i.MX6上运行linux kernel 6.11
  • 【创业】互联网行业30年发展史与风口,后双创时代杀出重围的独角兽们(追求极致,务实敢为)
  • SpringCloud Gateway路由核心原理解析
  • 深入理解Python异常处理机制
  • IDEA如何将一个分支的代码合并到另一个分支(当前分支)
  • GCN+BiLSTM多特征输入时间序列预测(Pytorch)
  • 使用Python的DrissonPage库自动化爬取美女图片
  • 怎么用c++的fill函数?