首頁  >  文章  >  後端開發  >  Python破解字串找茬遊戲實作方法

Python破解字串找茬遊戲實作方法

巴扎黑
巴扎黑原創
2017-09-26 10:37:182092瀏覽

這篇文章主要介紹了Python實現的破解字符串找茬遊戲算法,簡單分析了找茬遊戲的原理,並結合具體實例形式分析了Python實現破解找茬遊戲的相關實現技巧,需要的朋友可以參考下

本文實例講述了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破解字串找茬遊戲實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn