import random
# (0,1000)随机产生一个数
key = random.randint(1,1000)
# 用来统计猜的次数
count = 0 # 定义一个折半查找的函数
def BinSearch(array, key, low, high):
global count
mid = int((low+high)/2)
if key == array[mid]: # 若找到
count += 1
print("您总共猜了次数是:%d"%count)
print("恭喜您猜对了,答案是:" )
return array[mid]
if low > high:
return False if key < array[mid]:
print("小于猜的数")
count += 1
return BinSearch(array, key, low, mid-1) #递归
if key > array[mid]:
count += 1
print("大于猜的数")
return BinSearch(array, key, mid+1, high) if __name__ == "__main__":
# 给定一个列表
num_value_list = list(range(1, 1001))
# 通过折半查找,找到随机的数
ret = BinSearch(num_value_list, key, 0, len(num_value_list)-1)
print(ret)

最新文章

  1. BPM流程中心解决方案分享
  2. 一个简单的网站web项目的详解
  3. OC基础--Property
  4. KSFramework:集成U3D热重载框架 - README
  5. Java生成动态GIF图片
  6. 元组的cmp()内建函数
  7. IOS开发-跨域访问DWR方法
  8. SAP校园招聘笔试
  9. 如何运行 rpcz python example
  10. hdu5706-GirlCat
  11. 明天软软onsite
  12. hdu 1074 (状压dp)
  13. SPRING框架中ModelAndView、Model、ModelMap区别及详细分析
  14. Gym - 101628F Find the Inn dijkstra,读边时计算新权值
  15. php 抽象 继承 多态
  16. (zxing.net)二维码PDF417的简介、实现与解码
  17. 记录LNMP环境彻底删除绑定域名及网站文件夹/文件的过程
  18. APNS 证书生成注意事项
  19. vue起手式
  20. 了解委托(Delegate)

热门文章

  1. Faster_RCNN 4.训练模型
  2. Caching漫谈--关于Cache的几个理论【转】
  3. VB获取CAD属性值
  4. jquery获取、设置、删除cookie
  5. MinGW GCC 7.3.0 2018年1月25日 出炉啦
  6. QT 开发小记
  7. LabVIEW中下拉列表和枚举的区别(两点)
  8. unit test
  9. 使用AutoFac实现依赖注入
  10. Windows 下搭建 SVN服务器及使用