牛逼,用Python来做《中国诗词大会》的诗词接龙,看谁是对王之王!

共 2319字,需浏览 5分钟

 ·

2021-04-25 09:51

诗词作为中华文学艺术的体现,不仅体现了中华民族的文化底蕴,更是饱含着作者的思想感情。央视更是推出了《中国诗词大会》的节目,来向人们推广我们的诗词文化。

小编今天就跟大家一起,制作一个诗词接龙的软件,让大家在闲暇时,可以进行诗词接龙的游戏,一起来看看吧。


01.游戏展示和解释

首先,我们先来展示一下游戏的玩法,并对游戏进行解释。

视频中可以看到,当第一次运行游戏时,需要输入一个起始的关键字,然后电脑会给出一句诗,诗词接龙跟成语接龙的区别在于将成语替换为诗句,把握好这点,也就明白我们需要怎样回答电脑端给出的诗句。当输入诗句后,需要点击确定,来让电脑应对我们的诗句。



02.程序讲解

软件展示过后,接下来就是对于其程序的解析,可以分为三个步骤来讲解:

  • 获取诗词数据

  • 获取诗词拼音

  • 界面制作


03.获取诗词数据

对于诗词数据的获取,这里我们抓取的是古诗文网中的诗词数据,通过对于网页的分析,可以发现,网页属于静态网页。

在程序的编写方面,根据静态网页,可以提取出每首诗词的链接。

程序中,通过分析静态网页,提取所有诗词的链接后,保存到self.poem_links列表中去。
而对于每一个诗词网页,同样也是静态网页,因此对于程序的编写,同样可以利用requests库来请求网页数据,并利用BeautifulSoup进行网页解析。

程序通过BeautifulSoup解析网页数据,并提取诗句的文本内容,然后利用正则化匹配和字符串替换的方式来清洗诗句的内容,最后将诗句的内容保存到列表中,并写入到本地文件中。诗句内容如下图所示:

04.获取诗词拼音

获取诗词拼音非常的重要,它是能否实现诗词接龙的关键,例如九载一相逢, 百年能几何酒醒山月欲侵楼,小摘园蔬雪满沟两句诗的第一个字的拼音都是jiǔ。对于拼音的获取,可以利用xpinyin库进行实现,程序如下图所示。

程序首先按照。? !来划分诗句,并舍弃掉那些诗句长度小于5的诗句。然后通过xpinyin库中的Pinyin类来给诗句进行拼音的标注,并获取第一个字的拼音内容,保存到poem_dict字典中。最后通过持久化保存将字典保存到本地。


05.界面制作

对于界面的制作,我们利用的是PyQt5进行制作,首先大家需要按照顺序来运行下面的命令,安装PyQt5和PyQt5-tools。
pip install PyQt5
pip install PyQt5-tools
安装完成后,大家可以按照Lib>site-packages>qt5_applications>Qt>bin的文件夹顺序,找到designer.exe软件,designer.exe可以通过模块拖动的方式来构建软件的交互界面,并将制作的文件保存为interface.ui文件,如下图所示:


界面的制作完成后,在命令行里运行转换命令,即可将ui文件转换为python文件,如下图所示:

PyQt5相比于tkinter等GUI制作库来说,可以利用PyQt5-tools直接制作界面,并转换为python语言命令,非常的方便。转换后的部分程序如下图所示。

程序运行后,其界面如下图所示:


界面中通过按钮来绑定函数,进行命令的执行,同时通过text控件来获取用户的输入并显示电脑端输出的答案。



06.总结
以上就是小编同大家分享的“诗词接龙”内容,核心的代码已经全部展示了,大家可以试着自己动手做一下,一步步的进行实现,制作自己的诗词接龙趣味软件,程序运行的那一刻你会非常有成就感的!

需要本软件的,请找小助手,公众号后台输入:「小助手」,暗号:诗词


推荐阅读:

入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径


干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |


趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!


AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影


年度爆款文案


点阅读原文,领AI全套资料包!

浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报