关注诛仙智能,去数据的路。
欢迎关注诛仙智能。我们专注于商业智能BI、大数据、数据分析领域的垂直社区、学习、问答、求职一站式处理!
这是用Python实现成语接龙游戏的具体开发教程。Python可以很容易地实现这一功能。下面分为两个版本。一个是可以实现基本功能的简单版本。另一个是扩张版。是从单纯版扩展而来的。功能更加复杂和完善。
这可以通过多种方式应用,如聊天机器人,还可以与python微信界面itchat一起制作花样。
例如:
开发环境:Windows
python版本:3.x
准备外部模块:无
准备文件:成语库文件(例如使用idiom.txt)也可以在互联网上捕获匹配的成语,但效率相对较慢。此功能可以在本地完全实现。
请登录原文获取文件链接。
文件内容映射:
我一共整理了11174个常用语,虽然不完全,但一般使用没有问题。你们也可以酌情自行补充。
Starter实例
也可以认为实现原理是调用本地成语库,匹配字符串前后的条件。
首先说一下简版成语接龙规则。
1.连接龙的成语的第一个字应该和以前成语的最后一个字一样
2.接龙的成语必须是四字成语
3.已经使用的成语双方都不能再次使用
4.当一方不按规则得到龙或得不到龙时,判定失败
我把它的功能分解成函数,这样结构就更清楚了,便于调试,源代码(文件名' idiom_s.py ')和注释如下。
这是简单版本的完整内容,将程序“idiom_s.py”和成语库文件“idiom.txt”放在同一个目录下,以显示测试效果。
扩展版本示例
简单版本的游戏规则有点严格,所以我们可以做一点。
进行点改变使其更加有趣。但原则上拓展版也必须兼容简易版的规则,这时我们可以用参数调节游戏规则。拓展版成语接龙规则:
1.接龙的成语的第一个字必须要与前一个成语结尾的字相同(mode = 0); 接龙的成语的第一个字的拼音包括音调要与前一个成语结尾的字的拼音和音调相同(mode = 1);接龙的成语的第一个字的拼音字母(不包括音调)与前一个成语结尾的字的拼音字母相同(mode = 2)
2.接龙的成语必须是四字成语(opt = 0);接龙的成语可以不是四字成语(opt = 1)
3.已使用过的成语双方均不得再次使用
4.一方不按照规则接龙或接不下去时判定失败
可以看出拓展版的确对简易版做了比较大的拓展,还涉及汉字转拼音,实现详见我的另一篇文章:Python实现文字转语音功能 - 知乎专栏
下面展示源码(文件名为"idiom_p.py"):
这就是简易版的全部内容,测试时将该程序"idiom_p.py",成语库文件"idiom.txt"和汉字拼音文件"unicode_;置于同一目录下,放个测试效果图:
大致实现就是这样,大家也可以自己在此基础上进行更多拓展,如结合我上一篇文章实现成语的语音输出,也是非常不错的。
实例结束,我的表演完了,谢谢大家!如果这篇文章对你有帮助,请在收藏的同时一赞支持,谢谢!光收藏不点赞的让我好心塞啊。
本文摘自:知乎,作者:玉牙树 。