python简易版猜单词游戏_python项目实战1.3节:基于英文分词的猜单词游戏-薯条老师的官方博客...

基于英文分词的猜单词游戏

在1.2节实现了一个进阶版的猜姓名游戏,在本节程序实战中请同学们按照以下需求实现一个基于英文分词的猜单词游戏:① 对某一篇英文文章进行分词,以获取一个英语词典

② 如果用户输入的单词在词典中,则提示"你是个猜单词天才,请收下我的膝盖"

③ 如果用户的输入前缀匹配第一个字母,则提示"不错,有点接近了",前缀匹配前面两个字母,则提示"厉害,比较接近了"

需要对英语词典构造一个词典树的结构进行单词查找,单词查找树的数据结构如下图所示:

779b9db4fffc8564e41b4aabff2a1ab5.png

红色节点表示从根节点到当前节点的最短路径中的所有字母可组成一个单词。比如在上图所示的结构中,an是一个单词,and也是一个单词。

程序难点分析

实现该程序的难点在于如何对英文文章进行分词。我们都知道英文文章中的单词是以空格,逗号等进行分隔的,利用这样的特性,可以很容易地对英文文章进行分词:在遍历的过程中记录非分隔符的起始位置,然后当遍历出的字符为分隔符时就进行单词拆分。

算法逻辑如下:

① 定义一个布尔类型的标记变量,初始情况下为True,表示已完成单词的拆分

② 遍历英文字符串,如果当前字符为分隔符且尚未切分,则开始分词:将起始位置的索引与分隔符位置之前的所有字符进行拆分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值