来看本周的题目。
在 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课】 字符串的索引和切片
def reverse(n):
# 返回一个整数的逆序
return int(str(n)[::-1])
然后定义一个累加整数各项数字的函数。方法不止一种,这里通过分解成字符后来处理。
def accumulate(n):
# 返回一个整数的各位数之和
return sum([int(x) for x in str(n)])
最后开始循环找出满足要求的数
# 寻找 10000 到 1000000 之间满足各位数之和为 n 的回文数
for i in range(10000,1000000):
if i == reverse(i) and accumulate(i) ==n:
print(i)
也可以参考 同学的代码,如下:
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
最后,祝大家周末愉快,结对编程!
本文分享自 Crossin的编程教室 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!