Python破解字符串找茬游戏实现方法

巴扎黑
Libérer: 2017-09-26 10:37:18
original
2001 Les gens l'ont consulté

这篇文章主要介绍了Python实现的破解字符串找茬游戏算法,简单分析了找茬游戏的原理,并结合具体实例形式分析了Python实现破解找茬游戏的相关实现技巧,需要的朋友可以参考下

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

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

有点类似于:

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

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


#找茬
Copier après la connexion

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

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


#找茬[役]
Copier après la connexion

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

有时候, 找这个字, 眼睛看花, 费神, 我就用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)
Copier après la connexion

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!