专栏首页Crossin的编程教室【每周一坑】特殊回文数

【每周一坑】特殊回文数

Thank God It’s Friday!

again!

又到了惬意的周末了,祝大家周末愉快,闲暇之余记得练习编程技能啊!另外,上海的朋友可以安心在家写代码了,因为明天后天下雨。

一名光荣的天气播报员尽到了自己的义务! 收收心,看看本周的为大家准备的题目。

特殊回文数

123321是一个非常特殊的数,它从左边读和从右边读是一样的,我们称这样的数为回文数。

给你一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n(5<=n<=54)。 按从小到大的顺序输出满足条件的整数。

示例

>>>n = 52
>>>func(n)
899998
989989
998899

欢迎大家积极投稿,我们将选出优秀的解答在下期展示。

统计英文词频解答

这道题实现容易,使用正则表达式和 Counter 就可以轻松完成。

# 引入 Counter 和 re
from collections import Counter
import re

打开并读取文件,取出所有单词,并全部转换为小写字母。

with open(r'Jane Eyre.txt','r') as f:
    all_words = f.read().lower()

虽然通过正则可以忽略大小写进行匹配,但为了方便之后统计重复次数,我们还是强制都转为小写。

使用 re 模块匹配所有单词

rule = re.compile(r'\w+')
words = re.findall(rule,all_words)

最后使用 Counter 计数并统计

counter_words = Counter(words)
common_words = counter_words.most_common(10)

关于 Counter 的用法可见上期【编程课堂】计数器 Counter

最后整理一下输出这样的结果

Jane Eyre.txt
=======================
1         the        7845
2         i        7255
3         and        6625
4         to        5226
5         a        4468
6         of        4366
7         you        2993
8         in        2767
9         was        2525
10         it        2413

大家可以看到,结果没有太多参考性,因为词频最高的肯定是一些人称代词、冠词、介词等无意义的词汇,好在上期解答中 @LDJ 小伙伴精心去除很多无意义的词汇,然后又生成了词云图,值得大家参考。

代码地址:

https://github.com/NyanCat12/CrossinWeekly/blob/master/NovelWordCount.py

同样是关于 Jane Eyre 的文章分析,生成的词云图为:

本文分享自微信公众号 - Crossin的编程教室(crossincode)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-03-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【编程课堂】计数器 Counter

    上一期的编程课堂我们介绍了 有序字典 OrderedDict,这一期我们再来聊聊 同属 collections 模块的另一种数据类型 Counter。 在了解 ...

    Crossin先生
  • #PY小贴士# 函数的默认参数不会每次都新建?

    这里的原因在于,函数的参数默认值,是在一开始定义(也就是 def)的时候所决定的,并不是到执行时才创建。我换一个例子,就看得更明白了:

    Crossin先生
  • 【我问Crossin】Python 入门之后难以提高,该如何解决?

    报错 EOL 大多都是因为代码中的引号没有成对。或者其中有引号被转义,导致没起到引号的作用。

    Crossin先生
  • 从传统方法到深度学习,人脸关键点检测方法综述

    机器之心
  • 从传统方法到深度学习,人脸关键点检测方法综述

    人脸关键点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其它人脸相关问题的前提和突破口。近些年来,深度学习方法由...

    chaibubble
  • 从传统方法到深度学习,人脸关键点检测方法综述

    人脸关键点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其它人脸相关问题的前提和突破口。近些年来,深度学习方法由...

    企鹅号小编
  • 波兰科研人员提出可准确区分活人与死人的虹膜识别技术

    波兰研究人员正在研究一种技术,可以防止诈骗者使用死人的虹膜生物识别技术。研究人员还发表了一篇论文,概述了正在研究的这项技术。研究人员表示,他们利用深度学习技术设...

    人工智能快报
  • Linux系统面面观 PROC文件系统详细介绍

    什么是proc文件系统? proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用...

    一见
  • Kotlin中级(6)- - - Kotlin类之的继承.md

    因为Any这个类只是给我们提供了equals、hashcode、toString三个方法,我们可以看看Any这个类的源码实现

    Hankkin
  • 我是这么学习Selenium元素定位操作的

    相信很多做web自动化测试的同学都深有体会,其本质也就是通过操作页面元素对象来模拟用户操作行为,那么首先我们先找到这些元素对象,然后才能进行一系列操作。

    软件测试君

扫码关注云+社区

领取腾讯云代金券