前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【每周一坑】生成词云

【每周一坑】生成词云

作者头像
Crossin先生
发布2018-04-17 14:10:05
6930
发布2018-04-17 14:10:05
举报

来看本周的题目。

使用 wordcloud 生成词云图

在 Python 中有许多有趣的库可供学习, wordcloud 必须得算一个,本周我们的题目就是,学习 wordcloud 基本用法,然后生成一张词云图。

你可以拿去制作 PPT 、制作 网页用图、甚至哄女朋友开心,没有女朋友的可以哄 室友 开心。

wordcloud 的基本使用方法包含在本周 编程课堂 中,当然你也可以直接到官方网站学习:https://github.com/amueller/word_cloud

效果如给出的示例图,为了方便大家找资源,特地给出助教小哥女神的照片以及填充的文本文件,直接到资源地址下载即可。

资源地址:https://git.oschina.net/zx576/novel/attach_files (微信中无法跳转链接,可点击文末 阅读原文)

附加题

可以结合我们之前的文章:数据分析:当赵雷唱民谣时他唱些什么?

根据对歌词的分词统计,生成词云图。

欢迎在留言区提交你的解答。

顺便说下:除了使用 github 类托管网站外,也可以用 paste.ubuntu.com 或 codeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。

另外,我们在菜单栏右边分类中增加了“每周一坑”的归档,方便大家日后查阅。

解答:特殊回文数

为了清楚的解释本题,我们分步使用函数来完成。

首先是定义一个返回一个整数的逆序的函数。基本思路:把一个整数,转成字符串,然后通过切片操作逆序,再转回整数。参考:【Python 第30课】 字符串的索引和切片

代码语言:javascript
复制
def reverse(n):
    # 返回一个整数的逆序
    return int(str(n)[::-1])

然后定义一个累加整数各项数字的函数。方法不止一种,这里通过分解成字符后来处理。

代码语言:javascript
复制
def accumulate(n):
    # 返回一个整数的各位数之和
    return sum([int(x) for x in str(n)])

最后开始循环找出满足要求的数

代码语言:javascript
复制
# 寻找 10000 到 1000000 之间满足各位数之和为 n 的回文数
for i in range(10000,1000000):
    if i == reverse(i) and accumulate(i) ==n:
        print(i)

也可以参考    同学的代码,如下:

代码语言:javascript
复制
def Palindrome(n):
    for i in range(10000, 1000000):
        number = list(str(i))
        #使用reversed把列表进行反向迭代, eval求值连接后的字符串
        if number == list(reversed(number)) and eval('+'.join(number)) == n:
            print(i)
Palindrome(52)

github 地址:https://github.com/strawwhat/learning/blob/master/palindrome.py

最后,祝大家周末愉快,结对编程!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 wordcloud 生成词云图
  • 解答:特殊回文数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档