入门岛2-python实现wordcount并进行云端debug

书生大模型学习
任务:
1.实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。
2.Vscode连接InternStudio debug
TIPS:记得先去掉标点符号,然后把每个单词转换成小写。不需要考虑特别多的标点符号,只需要考虑实例输入中存在的就可以。

任务1

python基础

1.大小写转换函数

text = text.lower() //小写
text = text.upper()	//大写

2.去掉标点符号
可以使用re或者string库处理

import re
//1.使用re库:正则表达式进行删除
text = re.sub(r'[^\w\s]','',text)

这里,re.sub() 函数用于替换匹配到的模式,而 r’[^\w\s]’ 是一个正则表达式,表示“非单词字符且非空白字符”的任何字符。
\w 匹配任何字母数字字符(等同于 [a-zA-Z0-9_])。
\s 匹配任何空白字符(如空格、制表符等)。
^ 在方括号内表示“非”。
re.sub() 将这些字符替换为空字符串(即删除它们),从而达到去除标点符号的目的。

//2.使用string库:去掉标点字符
import string
translator = str.maketrans('', '', string.punctuation)# 使用 translate() 方法去除标点符号	
text=text.translate(translator)

具体来说,我们可以利用 string 模块中的 punctuation 字符串,它包含了所有的标点符号,然后使用 str.translate() 方法来删除这些字符。
3.字符分割为列表
以空格为分割符号的分割函数

    # 拆分字符串为单词列表words = text.split()

split() 是字符串的一个方法,用于根据分隔符将字符串分割成一个列表。如果不提供任何参数,默认情况下 split() 方法会按照任意数量的空白字符(空格、制表符、换行符等)作为分隔符来分割字符串。
4.列表归档到字典
遍历列表,当存在该字符串则count+1,否则创建并赋值为1。

# 创建一个空字典用于存储单词出现次数word_count_dict = {}for word in words:if word in word_count_dict:word_count_dict[word]+=1else:word_count_dict[word] = 1

算法实现如下:

import string ,re
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.
"""
def wordcount(text):text = text.lower()print(text)  # 小写# 去除标点符号只保留字母和空格# text = re.sub(r'[^\w\s]','',text)translator = str.maketrans('', '', string.punctuation)# 使用 translate() 方法去除标点符号	text=text.translate(translator)# 拆分字符串为单词列表words = text.split()# 创建一个空字典用于存储单词出现次数word_count_dict = {}for word in words:if word in word_count_dict:word_count_dict[word]+=1else:word_count_dict[word] = 1# print(word_count_dict)return word_count_dict
print(wordcount(text))

输出情况:
在这里插入图片描述

任务2

1.连接服务器并打开调试
在这里插入图片描述
2.点击左边的运行与调试(或右上角选择下图所示选项)
在这里插入图片描述
出现如下图所示的界面,其中左上角为运行到当前断点状态下的参数信息,包括local和global的参数,global参数
在这里插入图片描述
中间的选项分别为继续,逐过程,单步调试,单步跳出,重启调试,停止调试。
在这里插入图片描述
左侧的参数表可以右键进行针对监控。
在这里插入图片描述

vscode支持通过remote的方法连接我们在命令行中发起的debug server

选择debugger时选择python debuger。选择debug config时选择remote attach(远程连接)就行,随后会让我们选择debug server的地址,因为我们是在本地debug,所以全都保持默认直接回车就可以了,也就是我们的server地址为localhost:5678。
在这里插入图片描述
选择后再进行debug出现debug选项
在这里插入图片描述

在命令行中发起debug

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

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

./temp.py可以替换为我们想要debug的python文件,后面可以和直接在命令行中启动python一样跟上输入的参数。记得要先在想要debug的python文件打好断点并保存。

–wait-for-client参数会让我们的debug server在等客户端连入后才开始运行debug。在这就是要等到我们在run and debug界面启动debug。
先在终端中发起debug server,然后再去vscode debug页面单击一下绿色箭头开启debug。
效果如下:
在这里插入图片描述

使用别名简化命令

这边有个不方便的地方,python -m debugpy --listen 5678 --wait-for-client这个命令太长了,每次都打很麻烦。这里我们可以给这段常用的命令设置一个别名。

在linux系统中,可以对 ~/.bashrc 文件中添加以下命令

alias pyd='python -m debugpy --wait-for-client --listen 5678'

然后执行

source ~/.bashrc

这样之后使用 pyd 命令(你可以自己命名) 替代 python 就能在命令行中起debug了,之前的debug命令就变成了

pyd ./python_code/temp.py

运行如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/397501.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis学习-day19

Mybatis学习-day19 1. resultMap resultMap 是 MyBatis 中最复杂的元素&#xff0c;主要用于解决实体类属性名与数据库表中字段名不一致的情况&#xff0c;可以将查询结果映射成实体对象。 <resultMap id"staffAndDep" type"com.easy.bean.Staff">…

解決android Studio在导入已有的工程 build 时出现的错误

最近在学习andriod方面的知识&#xff0c;第一次使用android Studio导入别人的项目&#xff0c;从导入到build出现了几个问题&#xff0c;在这里记录以下解决过程。 SDK location not found 如下图报错所示&#xff0c;看网上教程有的说是SDK未安装&#xff0c;这里我是明确自…

两个AI关小黑屋:Llama3.1把Claude Opus聊自闭了

把Llama 3.1 405B和Claude 3超大杯Opus双双送进小黑屋&#xff0c;你猜怎么着—— Llama把Claude整得精神崩溃了&#xff0c;Claude明确拒绝继续聊天&#xff0c;还要再被Llama PUA的那种。 在一场AI和AI对话的安全词模拟实验中&#xff0c;X上的这位人类监督者记录下了一出好…

【HarmonyOS NEXT星河版开发学习】小型测试案例12-点赞案例

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面&#xff08;暂未发布&#xff09; 前言 本案例主要运用了交互点击事件和基础的算术运算符的应用&#xff0c;难度并不大&#xff0c;卡片的制作相对来说并不是太难&#xff0…

机器学习/深度学习——模型的欠拟合和过拟合,正则化方法详解

机器学习/深度学习——模型的欠拟合和过拟合&#xff0c;正则化方法 详解 搭配以下文章进行学习&#xff1a; 卷积神经网络&#xff1a; 深度学习——卷积神经网络&#xff08;convolutional neural network&#xff09;CNN详解&#xff08;一&#xff09;——概述. 步骤清晰…

深度解析HAProxy:构建高可用负载均衡的终极指南

目录 haproxy配置文件组成 实验环境 haproxy安装 haproxy的配置文件说明 全局配置段global 多进程和多线程配置 代理配置段proxies server配置说明 实验相关配置 测试效果&#xff1a; haproxy的状态页 socat命令 socat命令的一些常用示例 HAProxy的调度算法 静…

网鼎杯-2018-Web-Unfinish

先尝试万能注入&#xff1a; 如果万能注入缺少符号&#xff0c;如果加符又进不去&#xff0c;那我们尝试扫描文件,然后发现有一个register.php的文件&#xff0c;应该是注册页面&#xff0c;我们去打开 知道存储的文件&#xff0c;并利用状态码进行过滤 我们注册的用户名就是aa…

【Redis 进阶】集群(重点理解流程和原理)

一、基本概念 前面学习的哨兵模式&#xff0c;提高了系统的可用性。但是真正用来存储数据的还是 master 和 slave 节点&#xff0c;所有的数据都需要存储在单个 master 和 slave 节点中。如果数据量很大&#xff0c;接近超出了 master / slave 所在机器的物理内存&#xff0c…

【数据结构详解】——冒泡排序(动图详解)

目录 &#x1f552; 1. 冒泡排序 &#x1f552; 1. 冒泡排序 &#x1f4a1; 算法思想&#xff1a;两两比较相邻记录的关键字&#xff0c;如果反序则交换&#xff0c;直到没有反序的记录为止。一共进行n-1趟这样的交换将可以把所有的元素排好。 代码实现如下&#xff1a; voi…

uniapp点击图片预览,关闭预览图片后自动触发onshow生命周期,怎么解决?

第一&#xff0c;页面的数据会实时更新&#xff0c;所以接口请求需要在onshow中&#xff0c;变量figh初始为true&#xff0c;数据列表信息可直接调用获取 当点击查看图片时改变&#xff0c;变量figh为false&#xff0c;此时onshow里面的this.postlist()不触发。 此时&#xff0…

国产大模型市场遇冷:挑战与机遇并存,一般人学大模型,我劝你算了吧

前阵子&#xff0c;大模型赛道非常热闹&#xff0c;360、字节、KIMI、知乎等公司纷纷召开发布会&#xff0c;推出自己独具特色的新产品&#xff0c;一时间引发市场的不少想象和讨论。在看似百花齐放、万紫千红的同时&#xff0c;K哥也观察到了一些不好的迹象&#xff0c;这些“…

【软件测试】功能测试理论基础

目录 项目的测试流程&#x1f3f4; 需求评审 评审形式 测试人员在需求评审中职责 测试计划与方案 测试计划 问题 测试方案&#x1f3f4; 测试计划与方案的对比 功能测试设计&#x1f3f4; 测试设计的步骤 项目的测试流程&#x1f3f4; 作用&#xff1a; 有序有效开展…

力扣Hot100-994腐烂的橘子

中等 在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元格…

MiniCPM-V: A GPT-4V Level MLLM on Your Phone 手机上的 GPT-4V 级多模态大模型

GitHub - OpenBMB/MiniCPM-V: MiniCPM-V 2.6: A GPT-4V Level MLLM for Single Image, Multi Image and Video on Your Phone 2408.01800 (arxiv.org) 目录 Introduction Model Architecture Training End-side Deployment MiniCPM-V是一种高效的多模态大型语言模型&…

cad文字转arcgis注记

cad中文字转为arcgis注记&#xff0c;步骤如下&#xff1a; 1、将dwg文件下annotation文件加到图层中 2、文件点击右键&#xff0c;转换地理数据库注记 3、 导入默认地理数据库中&#xff0c;或自己新建地理数据库&#xff0c;起个文件名、点确定&#xff08;注意&#xff1a…

手机CPU性能天梯图(2024年8月),含安兔兔/GB6/3DMark跑分

原文地址&#xff08;高清无水印原图/持续更新/含榜单出处链接&#xff09;&#xff1a; 2024年8月手机处理器天梯图 2024年8月1日更新日志&#xff1a;由于近期并未有新处理器发布&#xff0c;故只做常规更新&#xff1b;移除鲁大师天梯图&#xff1b;补充其它天梯图数量。 -…

Leetcode - 周赛409

目录 一&#xff0c;3242. 设计相邻元素求和服务 二&#xff0c;3243. 新增道路查询后的最短距离 I 三&#xff0c;3244. 新增道路查询后的最短距离 II 四&#xff0c;3245. 交替组 III 一&#xff0c;3242. 设计相邻元素求和服务 本题纯模拟&#xff0c;代码如下&#xff…

工业三防平板助力MES系统打造工厂移动式生产管理

随着工业4.0时代的到来&#xff0c;智能制造、数字化车间等概念层出不穷&#xff0c;生产过程的可视化管理也成为了企业提升效率、优化生产的关键。而工业三防平板&#xff0c;凭借其坚固耐用、功能强大、便携易用等特性&#xff0c;成为了实现生产过程可视化管理的重要利器&am…

服务器网络磁盘挂载

一、Ping测试 先测试磁盘网络的连通性 例如&#xff1a;这里申请的网络磁盘是&#xff1a; 127.0.0.1:/shareData ping 127.0.0.1二、挂载 确认连通后&#xff0c;确定需要挂载的目录&#xff0c;这里服务器的挂载目录为&#xff1a;/data/share &#xff08;自主选择创建目录…

1985-2023年中国城市统计年鉴(PDF+EXCEL)

1985-2023年中国城市统计年鉴 1、时间&#xff1a;1985-2023年 2、格式&#xff1a;1985-2023年PDF版本&#xff0c;1993-2023年excel格式 3、说明&#xff1a;中国城市统计年鉴收录了全国各级城市社会经济发展等方面的主要统计数据&#xff0c;数据来源于各城市的相关部门。…