栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Porter Stemmer算法不返回预期的输出?修改为def时

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Porter Stemmer算法不返回预期的输出?修改为def时

因此,罪魁祸首是它当前没有将输入的最后部分写到

output
(例如,尝试“ Michael is Singing
stuff”-它应该正确地写所有内容并省略“
stuff”)。可能有一种更优雅的方式来处理此问题,但是您可以尝试的一件事是
else
for
循环中添加一个子句。由于问题在于最终单词未包含在中
output
,因此我们可以
else
用来确保在
for
循环完成时添加最终单词:

def algorithm(input):    print input    p = PorterStemmer()    while 1:        output = ''        word = ''        if input == '': break        for c in input: if c.isalpha():     word += c.lower() elif word:     output += p.stem(word, 0,len(word)-1)     word = ''     output += c.lower()        else: output += p.stem(word, 0, len(word)-1)          print output        return output

这已经通过两个测试用例进行了广泛的测试,因此很明显它是防弹的:)可能有一些边缘案例在那附近爬行,但是希望它可以帮助您入门。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650114.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号