[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 9# 老刘1号
算法有问题,这不是正宗的二分,是递归。

TOP

本帖最后由 happy886rr 于 2017-7-2 15:08 编辑

回复 11# codegay
在你的requests.Session()基础上改的。(外链效果图)
  1. import requests
  2. # 用户信息
  3. userNAMZE='Psaa'
  4. # 主机地址
  5. hostURL='http://bbaass.tk/math/'
  6. # 提交数据
  7. postDATA={'send':'Answer', 'username':userNAMZE, 'math':50}
  8. # 注册用户名
  9. requests.Session().post(hostURL, {'send':'reg', 'username':userNAMZE})
  10. # 辗转移位
  11. def GuessFun(mathMIN, mathMAX):
  12. # 搜索次数
  13. searchTIMES=0
  14. while mathMAX-mathMIN >1:
  15. postDATA['math'] = (mathMAX+mathMIN)>>1
  16. searchTIMES +=1
  17. print("The %d times"%(searchTIMES))
  18. r = requests.Session().post(hostURL, postDATA).json()
  19. ret = r['re']
  20. if ret == '=':
  21. break
  22. elif ret == '<':
  23. mathMIN=postDATA['math']
  24. else:
  25. mathMAX=postDATA['math']
  26. return searchTIMES
  27. # 打印结果
  28. if __name__ == "__main__":
  29. searchTIMES = GuessFun(-1, 101)
  30. print("Search times: %d\nGuess the number: %d"%(searchTIMES, postDATA['math']))
复制代码
3

评分人数

TOP

回复 19# 老刘1号
不过偶尔还会出现下标越界。而且有几次计算了20多次才猜中正确的数,你的算法还不是标准二分,比较费内存。如果是猜测1到10000之内的数,你的程序就非常缓慢。 把那个递归取消了,有递归的都不是标准二分。

TOP

回复 26# codegay

把细节都考虑进去了,如果把user-agent修改为火狐浏览器,就好了。这个php服务器对py的请求会拒绝,只能伪造user-agent来实现高速和稳定的请求。

TOP

回复 32# codegay
主要是网络质量会影响得分。

TOP

回复 40# bbaa
你用的pdo还是mysqli,目前数据库没反应。

TOP

返回列表