In diesem Artikel wird hauptsächlich der Algorithmus zum Knacken des Ratespiels in Python vorgestellt, das Prinzip des Ratespiels kurz beschrieben und die relevanten Implementierungstechniken von Python zum Knacken des Ratespiels anhand konkreter Beispiele analysiert
Das Beispiel in diesem Artikel beschreibt die Implementierung von Python, um den Ratespielalgorithmus zu knacken. Teilen Sie es als Referenz mit allen:
Der Chat-Roboter in der QQ-Gruppe startet ein Ratespiel:
Der Benutzer sendet #erraten Sie die Zahl an die Gruppe
2. Das Erraten hat begonnen, der Bereich liegt zwischen 1 und 10000
3 Sie senden #guess[123] an die Gruppe
4 : Zu groß oder zu klein Ja, oder herzlichen Glückwunsch zu Ihrer Schätzung
5 Sie erraten eine kleinere oder größere Zahl basierend auf der 123, die Sie gerade erraten haben, und senden zurück, senden Sie #guess[111], d. h. kehren Sie zu Schritt 2 zurück
Dann ist es definitiv die beste Ratemethode, die mittlere Zahl zu finden. Da Kopfrechnen zeitaufwändig ist, verwende ich direkt das Python-Skript, um dies zu knacken:
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'huhu, <huyoo353@126.com>' def find_middle(start, end): #print start, end return round((start+end)/2.0) if __name__ == '__main__': start, end = '','' text = raw_input(u"> 输入猜数的范围(如:421-499 或者421 499 或者421,499):").decode('gb18030') spliters = '-, ' for c in spliters: if text.find(c) != -1: num_list = text.split(c) if ''.join(num_list).isdigit(): start, end = num_list[0],num_list[1] break if start == '' or end == '': print u'范围不正确' else: start = int(start) end = int(end) count = 1 last_guess = find_middle(start,end) while 1: result = raw_input(u"放弃猜测直接回车, 等于输入=, 小了输入1, 大了请输入2\n>>> #猜数[%d] ,对吗?> " % last_guess ).decode('gb18030') #print type(text) if result in ['q','e','exit','quit','bye',u'退出']: print 'Bye!' break else: result=result.strip() if result == '1': start = last_guess last_guess = find_middle(last_guess,end) elif result == '2': end = last_guess last_guess = find_middle(start,last_guess) elif result == '=': print u'恭喜猜中, 共猜了%d次' % count print u'#猜数[%d]' % last_guess break else: # continue count += 1
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen zum Knacken von Ratespielen mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!