【无标题】


前言

这是一篇学习第三期书生大模型实战营的记录。


TASK一、Python实现wordcount

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

Eg:
Input:
"""Hello world!  
This is an example.  
Word count is fun.  
Is it fun to count words?  
Yes, it is fun!"""
Output:
{'hello': 1, 'world': 1, 'this': 1, 'is': 4, 'an': 1, 'example': 1, 'word': 1, 'count': 2,
'fun': 3, 'it': 2, 'to': 1, 'words': 1, 'yes': 1}

解答如下(大小写转换,多余空格替换,正则匹配非字母来分割,再遍历words做统计:

import re

def wordcount(text):
    # 将文本转换为小写,以便统计时不区分大小写
    text = text.lower()
    # 用空格替换掉文本中的换行符,确保单词之间只有一个空格分隔
    text = text.replace('\n', ' ')
    # 使用非字母数字字符作为分隔符来分割单词
    words = re.split(r'[^a-z0-9]+', text)
    # 创建一个字典来存储单词计数
    word_count = {}
    # 遍历单词列表,统计每个单词的出现次数
    for word in words:
        if word:  # 确保单词不为空
            if word in word_count:
                word_count[word] += 1
            else:
                word_count[word] = 1
    return word_count

# 测试函数
text = """
Hello world!  
This is an example.  
Word count is fun.  
Is it fun to count words?  
Yes, it is fun!
"""
print(wordcount(text))

TASK二、使用本地vscode连接远程开发机,将上面你写的wordcount函数在开发机上进行debug,体验debug的全流程,并完成一份debug笔记(需要截图)。

1.启动vscode远程debug:在这里插入图片描述
2.将正则匹配修改为
r'[^a-z0-9]'进行断点debug:在这里插入图片描述可以得到最后结果一样,相对于由+号这个结果没有变化,但是分割过程可能多了几个空格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值