cs111Final Project(part1)

本文转载自网址:http://csdaizuo.com/cs111final-project%EF%BC%88part1%EF%BC%89/

这次我们看看这份python的final作业我们是如何解决的。作业链接http://www.cs.bu.edu/courses/cs111/problem_sets/final_project.html

首先我们来看part1(Building an initial text model).我们需要实现五个方法:

1.__init__方法:__init__(self, model_name) :通过相关的名字作为参数来初始化这个对象;在构造函数内我们还需要初始化两个dictionary,一个用来存储单词出现次数,一个存储单词长度出现的次数。

2.__repr__:__repr__(self) :我们需要通过这种方式来实现对字典的大小以及名字的展示。我们下面举例来看我们是怎样展示信息的:

67e3cf38-cf3f-4dd6-b0a0-f7395e22c594

tips:我们需要包含换行符,并且返回一个字符串而不是去使用print()。在开发的初期,我们可以展示dictionary的详细信息,到了后期数据量变大时不必详细展示。

3.a helper function:clean_text(txt) 这个函数采取text文本字符串作为参数,然后返回一个list,list中的内容是被clean过的文本。这个函数将被用来处理文本,让每个单词不用担心逗号或者特殊字符的问题。

tips:也许你在处理文本的时候还可以把所有字符转为小写。为了防止内存不足,用迭代的方法遍历,不建议使用递归。

4.add_string(self, s)style=”color: #000000;”我们添加text然后来实现一个对字典的更新,构造出新的键值对。

5add_file(self, filename) 我们打开文件,并且将文件中的文本加入到类中。其中我们可以调用4中的方法。

59061dc5-86a8-4d9c-91db-310e7b85316f

我们最后进行测试。首先创建model对象,然后加入字符串,调用4中的方法,然后打印model,我们可以看到打印出名字,单词个数,单词长度个数等信息。然后我们也可以打印出model类中两个dict的信息。part1就做完啦!


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值