Python實現(xiàn)的破解字符串找茬游戲算法示例
本文實例講述了Python實現(xiàn)的破解字符串找茬游戲算法。分享給大家供大家參考,具體如下:
最近在一個QQ群里發(fā)現(xiàn)有那種機器人, 發(fā)出來字符串找茬游戲:
有點類似于:
沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒
沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒
沒沒沒沒沒役沒沒沒沒沒沒沒沒沒沒沒沒
沒沒沒沒沒沒沒沒役沒沒沒沒沒沒沒沒沒
沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒
沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒沒
玩法就是用戶發(fā)消息到群里:
#找茬
然后群里有個自動聊天的機器人, 他接到這句話之后, 會將上面一大堆文字發(fā)到群里.
然后你可以發(fā)現(xiàn)里面有個"役", 這個時候, 你就發(fā)
#找茬[役]
這條消息到群里, 聊天機器人接收到你的消息后會說: 回答正確, 或者回答錯誤等等.
有時候, 找這個字, 眼睛看花, 費神, 我就用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)
原理很簡單, 就是統(tǒng)計字符個數(shù), 返回出現(xiàn)次數(shù)最少的那個.
更多關于Python相關內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
tensorflow 使用flags定義命令行參數(shù)的方法
本篇文章主要介紹了tensorflow 使用flags定義命令行參數(shù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04Pytorch訓練模型得到輸出后計算F1-Score 和AUC的操作
這篇文章主要介紹了Pytorch訓練模型得到輸出后計算F1-Score 和AUC的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05python中openpyxl和xlsxwriter對Excel的操作方法
這篇文章主要介紹了python中openpyxl和xlsxwriter對Excel的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Python閉包之返回函數(shù)的函數(shù)用法示例
這篇文章主要介紹了 Python閉包之返回函數(shù)的函數(shù)用法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01python爬蟲開發(fā)之Request模塊從安裝到詳細使用方法與實例全解
這篇文章主要介紹了python爬蟲開發(fā)之Request模塊從安裝到詳細使用方法與實例全解,需要的朋友可以參考下2020-03-03Python+Opencv實現(xiàn)物體尺寸測量的方法詳解
這篇文章主要為大家詳細介紹了Python+Opencv如何實現(xiàn)物體尺寸測量的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2022-09-09