Python学习心得(一):词频统计,自顶向下设计

今天编的这个小程序是哈姆雷特中的词频统计,即统计哈姆雷特中各个词语出现的频率。我第一次尝试了使用自顶向下的设计方法和自下向上的执行方法。期间出现了很多错误,在此记录,以免日后再犯。

编程前截取网上Hamlet其中的一段,要注意的是:保存为txt类型时,编码方式选择'utf-8'。如图:

接下来分析整个编程的题目,并列出步骤:

第一步,打开文件并读取,将每个单词都分割开。

第二步,考虑到大小写的问题,将所有的字母都换为小写。

第三步,统计每个单词出现的频率,并高至低输出。

由此,主函数main()为:

split()函数将文件中的单词读取并分割开来,得到splitwords的列表,swapcase()函数将全部单词转换为小写模式,得到新的列表。countTimes()函数统计每个单词出现的频率,以字典的形式输出。outputs()函数和sorts()函数排序输出。

代码如下:

调试程序时发现了很多错误:

1.对象的使用方法上:如s1.replace后并没有将更新的字符串在赋给s1。return ls.sort直接返回,造成返回的结果为空值。应返回ls,而不是返回一个方法过程。

2.循环时,总是少加range。

3.定义的split()函数不能以'\n‘分割,需以空格分割。

程序结果如下,没有格式输出。

日后还要多加练习。

 

转载于:https://www.cnblogs.com/pengu/p/9564411.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值