微慑信息网

python二分法测试

SQL盲注结合二分法应该更快吧,写了个脚本测试二分法的步骤数量,总的来说比逐个判断更具有效性

#coding:utf-8

import sys
#设置递归深度,默认深度约998
sys.setrecursionlimit(100)

def checknum(unum,bnum,enum,sn):
	testNum=sn
	if (bnum !=enum) :
		if unum<(bnum+(enum-bnum)/2):
			if (bnum+(enum-bnum)/unum) !=1:
				testNum+=1
				print '-------第%d次测试-------' % testNum
				print '启动数据:',unum,bnum,enum
				print '范围内,继续二分法:',bnum+(enum-bnum)/2,'\r\n'
				bnum=bnum
				enum=bnum+(enum-bnum)/2			
				checknum(unum,bnum,enum,testNum)

			else:
				print bnum+(enum-bnum)/2-1
				pass
		else:
			testNum+=1
			print '-------第%d次测试-------' % testNum
			print '启动数据:',unum,bnum,enum
			print '超出范围,扩大到:',enum-(enum-bnum)/2,'\r\n'
			bnum=enum-(enum-bnum)/2
			enum=enum
			
			checknum(unum,bnum,enum,testNum)
	else:
		print 'the num is:',bnum-1,',本次测试次数:',testNum

def start():
	unum=19
	checknum(unum,0,20,0)

def main():
	start()
if __name__ == '__main__':
	main()

测试截图:

本文标题:python二分法测试
本文链接:
(转载请附上本文链接)
http://vulsee.com/archives/vulsee_2020/1119_13084.html
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » python二分法测试
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

微慑信息网 专注工匠精神

访问我们联系我们