Python实现的破解字符串找茬游戏算法示例


Posted in Python onSeptember 25, 2017

本文实例讲述了Python实现的破解字符串找茬游戏算法。分享给大家供大家参考,具体如下:

最近在一个QQ群里发现有那种机器人, 发出来字符串找茬游戏:

有点类似于:

没没没没没没没没没没没没没没没没没没
没没没没没没没没没没没没没没没没没没
没没没没没役没没没没没没没没没没没没
没没没没没没没没役没没没没没没没没没
没没没没没没没没没没没没没没没没没没
没没没没没没没没没没没没没没没没没没

玩法就是用户发消息到群里:

#找茬

然后群里有个自动聊天的机器人, 他接到这句话之后, 会将上面一大堆文字发到群里.

然后你可以发现里面有个"役", 这个时候, 你就发

#找茬[役]

这条消息到群里, 聊天机器人接收到你的消息后会说: 回答正确, 或者回答错误等等.

有时候, 找这个字, 眼睛看花, 费神, 我就用python写了个脚本来处理这个:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def char_diff(text):
  text=text.replace('\n','').replace('\r','')
  try:
    text=text.decode('gb18030','ignore')
  except:
    try:
      text=text.decode('utf-8','ignore')
    except:
      pass
  d={}
  for x in text:
    d[x]=d.get(x,0)+1
  lll= d.items()
  lll.sort(key = lambda x: x[1])
  return lll[0][0]
if __name__ == '__main__':
  while 1:
    text = raw_input("> ").decode('gb18030')
    #print type(text)
    if text in ['q','e','exit','quit','bye',u'退出']:
      print 'Bye!'
      break
    print u'#找茬[%s] ' % char_diff(text)

原理很简单, 就是统计字符个数, 返回出现次数最少的那个.

更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
理解python多线程(python多线程简明教程)
Jun 09 Python
python optparse模块使用实例
Apr 09 Python
用Python编写生成树状结构的文件目录的脚本的教程
May 04 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
pandas 将索引值相加的方法
Nov 15 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
Python利用matplotlib绘制约数个数统计图示例
Nov 26 Python
python中常见错误及解决方法
Jun 21 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
python接口自动化框架实战
Dec 23 Python
使用Python下载抖音各大V视频的思路详解
Feb 06 Python
pandas时间序列之pd.to_datetime()的实现
Jun 16 Python
Python实现破解猜数游戏算法示例
Sep 25 #Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 #Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 #Python
python中通过预先编译正则表达式提高效率
Sep 25 #Python
python之Character string(实例讲解)
Sep 25 #Python
python利用正则表达式搜索单词示例代码
Sep 24 #Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 #Python
You might like
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
2015/03/13 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
Python实现两款计算器功能示例
2017/12/19 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
windows下numpy下载与安装图文教程
2019/04/02 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
python和JavaScript哪个容易上手
2020/06/23 Python
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
服务标兵事迹材料
2014/05/04 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
小学语文教学随笔
2015/08/14 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL