python中成语接龙游戏_Python实现成语接龙

本文介绍了如何使用Python开发成语接龙游戏,包括简易版和拓展版。简易版遵循基本的成语接龙规则,而拓展版增加了拼音匹配和不同字数成语的选项。游戏通过读取成语库文件进行成语匹配,并提供了防止重复使用成语的机制。此外,还提到了如何将游戏与微信接口结合以及进一步拓展的可能性。
摘要由CSDN通过智能技术生成

这是一篇用Python实现成语接龙小游戏的具体开发教程。Python实现这个功能非常容易,以下分为两个版本,一个是简易版,能够实现基本的功能。还有一个是拓展版,是在简易版上进行拓展,功能更为复杂且完善。

这个可以应用在很多方面,比如说聊天机器人,而且还可以结合itchat这个Python的微信接口玩出花样等等。

下面放实例:

开发环境:Windows

Python版本:3.x

外置模块准备:无

文件准备:成语库文件(例如我使用的是idiom.txt),当然也可以从网上抓取匹配成语,但效率相对要慢。本功能是完全可以在本地实现的。

文件内容图:

063d66695d05a31d1ed3ab32241ba1a8.png

我整理出了共11174个常用成语,不是很全但一般使用是没有问题的,你们也可以酌情自行添加补充。

简易版实例

实现原理大家可能也想到了,就是调用本地成语库进行字符串首尾条件匹配。

先说一下简易版成语接龙规则:

1.接龙的成语的第一个字必须要与前一个成语结尾的字相同

2.接龙的成语必须是四字成语

3.已使用过的成语双方均不得再次使用

4.一方不按照规则接龙或接不下去时判定失败

我将其功能用函数分解了,这样结构更加清晰也方便调试,源码(文件名为"idiom_s.py")及注释如下:import random

def idiom_exists(x):

"""判断是否为成语的函数,参数为字符串,判断该字符串是否在成语库中"""

with open('idiom.txt','r') as f:

for i in set(f.readlines()):

if x == i.strip():

return True

return False

def idiom_test(idiom1, idiom2):

"""判断两个成语是否达成接龙条件"""

if idiom2[0] != idiom1[-1] or len(idiom2) != 4:

return False

return True

def idiom_select(x):

"""核心代码部分,参数x为成语,返回该成语的接龙匹配成语"""

if x == None:

with open('idiom.txt','r') as f:

return random.choice(f.readlines())[:-1]

else:

with open('idiom.txt','r') as f:

base = f.readlines()

random.shuffle(base)

for i in base:

if i[:-1] == x or len(i) != 5:

continue

if i[0] == x[-1]:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值