微慑信息网

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()

测试截图:

赞(0) 打赏
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » python二分法测试

评论 抢沙发

微慑信息网 专注工匠精神

微慑信息网-VulSee.com-关注前沿安全态势,聚合网络安全漏洞信息,分享安全文档案例

访问我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册