社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

菜鸟学Python • 4 年前 • 617 次点击  

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

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


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全套资料包!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/112104
 
617 次点击