【每周一坑】统计英文小说词频

简介: 然而,只有我们依旧无趣地在此刻发干货文,提醒着你有没有写新的代码?有没有了解新的语法?硬生生给你五彩斑斓的周末生活蒙上一层阴影。每每想到这,我就觉得,这档子事儿还真是……

Thank God It’s Friday!


又到周五啦!眼看就要忙完一周的学习和工作,又可以出去浪咯。


然而,只有我们依旧无趣地在此刻发干货文,提醒着你有没有写新的代码?有没有了解新的语法?硬生生给你五彩斑斓的周末生活蒙上一层阴影。每每想到这,我就觉得,这档子事儿还真是……



干得漂亮!


不多说,先来看这周的题目。上周解答在后半部分。



统计英文词频


编程教室在之前发过一篇 数据分析:当赵雷唱民谣时他唱些什么?,里面对赵雷的几十首歌词做了分词、去冗余、统计的操作,得出了他在歌词中最喜欢用的词汇。



本周我们的题目与这个类似,不过要简单许多。


要求:


  • 统计一部英文小说里单词的出现次数(忽略大小写)
  • 按出现次数显示最高的 100 个单词
  • 【附加题】多统计几个不同作家的作品,挑选一些特征词汇的次数画在图表上,展示不同作家的风格区别。


示例:


Jane Eyre
----------------
1.  the   7406
2.  I     7245
3.  and   6346
4.  to    5155
5.  of    4331
6.  a     4314
...


因为英语天生自带分词,所以要比中文好处理。另外透露下,今天一同发送的 编程课堂 里,有解答这题的关键技巧。


我们提供了几部小说作为测试数据,公众号里回复 小说 可获取下载地址。


依旧欢迎大家积极投稿~


Talk is cheap. Show me the code.


双色球选号器解答


这道题还是比较简单的。就是如何从一定的范围中随机地选出几个数。


我们的课程中有介绍过 random.randint 方法,可以产生一定范围中的一个随机整数。所以你可以调用多次该方法,获取到足够多的数。当然考虑到有可能出现重复,需要判断随机出来的值是否有效。


然而这并不是一个好办法。


random 模块中其实有现成的方法:sample。它的作用就是从序列中随机挑选一些元素。因此,选取红球只需要:


import random
# 1~33的列表
red_pool = range(1, 34)
red = random.sample(red_pool, 6)


蓝球,可以一样用 sample,或者 random 的另一个方法:choice。它的作用是从序列中随机挑选一个元素:


# 1~16的列表
blue_pool = range(1, 17)
blue = random.choice(blue_pool)


这就大功告成了!


如果想显示的好看些(py2):


print '红球:',
red.sort()
for r in red.sort():
    print '%02d' % r,
print
print '蓝球: %02d' % blue


上一期的答案里,@王任 同学用一行代码搞定了选号:


import random 
[random.randint(1, 16), sorted(random.sample(range(1, 34), 6))]


另一位同学 @张良 完成了专注买彩一百年的代码,参见:


https://github.com/lightopen/lottery/blob/master/lottery.py


然而,当我今天第一次运行他的代码时,结果是:


100 years late, you spend 73000, and earn 3031520


我想这是写错了吧。后来又 run 了许多次,发现并不是……


确实是我错过了 300 万。



近期文章推荐阅读:

如何用100行Python代码做出魔性声控游戏“八分音符酱”

数据分析:当赵雷唱民谣时他唱些什么?

一行代码扫出“敬业福”

我扒了杜蕾斯的微博

Python 爬虫爬取美剧网站

个人开发者如何申请微信小程序

今天,你抢到票了吗?

爆款游戏《贪吃蛇大作战》的 Python 实现

相关文章
|
5月前
|
自然语言处理 算法 Java
基于Python实现四大名著章节标注汉语拼音
基于Python实现四大名著章节标注汉语拼音
49 0
|
5月前
|
存储 自然语言处理 算法
算法编程(十九):词典中最长的单词
算法编程(十九):词典中最长的单词
58 0
|
算法 测试技术
蓝桥算法_单词分析-wordAnalysis
蓝桥算法_单词分析-wordAnalysis
|
移动开发 Shell BI
力扣 192. 统计词频 解决之道
力扣 192. 统计词频 解决之道
85 1
|
数据采集 存储 人工智能
【每周一坑】自动翻译 | 【解答】单词本
提示:翻译功能可以通过网上的翻译 API 实现,你所要了解的就是如何发起网络请求,以及如果对返回结果进行处理。这也算是基本的爬虫操作。
|
机器学习/深度学习 自然语言处理 安全
将入学考试题搬进中文大模型数据集,20477道题目,还带4个候选答案
将入学考试题搬进中文大模型数据集,20477道题目,还带4个候选答案
182 0
|
自然语言处理
每日一题——验证外星语词典
每日一题——验证外星语词典
72 0
每日一题——验证外星语词典
|
自然语言处理
LeetCode每日一题——953. 验证外星语词典
某种外星语也使用英文小写字母,但可能顺序 order 不同。字母表的顺序(order)是一些小写字母的排列。
116 0
|
存储 自然语言处理 搜索推荐
使用jieba分析小说太古神王中,男主更爱谁?去文章中找答案吧!
很多时候,我们会去统计一片文章中的高频词汇,以此来作为文章的关键词条,那么词频分析在python中,该用什么模块做?jieba! 第一次听到这个词就乐了,一个“结巴”,帮助我们统计词频...但仔细了解这个模块后,你会发现它的强大。怎么证明?来看看github。
243 0