python成语接龙到为所欲为_Python小伙用简单爬虫实现成语接龙小游戏!

闲来无事,写了一个成语接龙小游戏,抓取某成语接龙网站内容,请大家指正。

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Python实现这个功能非常简单,当然,这里我也是写了个简单版的,实现了基本功能就好。话不多说,先上干货:

开发前准备及思路:

开发环境:python3.x

模块:requests,time,random,urllib,lxml #除了urllib模块以外其余模块都需要安装,pip可以解决

url:http://chengyu.t086.com/

先说一下成语接龙规则:

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

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

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

4.不按规则或者接错者为输

实现原理非常简单:

1、判断输入的是否成语2、截取最后一字,在网站上查询成语,结果中随机选择一个返回,没有就认输并跳出循环3、再次输入成语,判断第一个字是否与上一步最后一个字相同,以及是否4字且之前没有输入过4、重复2,3循环,直到一方认输break跳出

大致就是以上这些,下面放代码,主要就是几个函数,已经判断语句:

先导入模块,爬虫部分用xpath,简单高效!

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

获取网页源代码部分

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

urllib模块

将输入的成语到网页中验证,能抓取到datas[0]数据判定为成语

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

截取输入成语最后一个字,放到网页中获取返回成语列表,并用random函数随机取一个成语返回,没有则认输(False)

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

下面是主函数部分:

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

注释都在程序中写着,这里就不啰嗦了,注意print中的flush=1,如果不写这个参数,则会在随即时间结束后一次输出,写上后,会依次输出“...”。

效果如下:

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

大致实现就是这样,还有几个拓展空间比如:玩家输入时间控制、接龙成语允许音同字不同等等,这些留着以后有时间再尝试吧!

6568581d7029?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

我的表演完了,如果有更好的想法可以留言或者一起研究下!谢谢大家!

给我的面子,来个关注呗!不给面子就算了。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值