zoukankan      html  css  js  c++  java
  • python学习(5)写一个二分算法的程序

    把之前学习的做一个小结。之前看二分查找法,只能是似而非地看懂大概。现在用这么多天的知识积累已经可以自己写了。

    而且在算法书的基础上,把需要找的数字做一个人机互动操作。

    另外,初步接触到了 __name__=="__main__"这块,也只初步了解了一个大概。在调试的时候,发现有这个语句就不会上下两段代码一起执行。原理现在尚不清楚,查了一下资料,似是而非,看后面能否深入了解。

    另外,今天对return和print进行了比较详细的了解。我的理解是,语句中一旦有return,类似Break,后面的程序就不会再执行了。而print语句后面还会继续执行。这应该是最大的区别。

    这是我写的第一段算法程序,在原来书本的基础上加入了很多中文人机互动,没想到一点点C++基础的我居然可以写算法程序。感谢这段时间来努力的自己!

     1 #!/usr/bin/env python
     2 # -*- coding: UTF-8 -*-
     3 # Author:show530
     4 
     5 
     6 def BinarySearch(list, item):
     7     low=0
     8     high=len(list)-1
     9     if item in list:
    10         while True:
    11             mid=int((low+high)/2)
    12             if list[mid]==item:
    13                 print(str(item)+"在数组里面的第"+str(mid)+"个位置")
    14                 return
    15             elif list[mid]<item:
    16                 low=mid+1
    17             elif list[mid]>item:
    18                 high=mid-1
    19     else:
    20         print("没有这个数字")
    21         return
    22 
    23 
    24 if __name__ == "__main__":
    25     arr = [1, 6, 9, 15, 26, 38, 49, 57, 63, 77, 81, 93]
    26     while True:
    27         key = input("请输入你要查找的数字:")
    28         if key == " ":
    29             print("谢谢使用!")
    30             break
    31         else:
    32             BinarySearch(arr, int(key))
  • 相关阅读:
    linux下tomcat启动正常,但是外部浏览器无法访问
    mybatis中映射文件和实体类的关联性
    判断用户请求时使用的浏览器类型
    HTML地理位置定位
    使用jQuery的toggle()方法对HTML标签进行显示、隐藏操作
    jQuery怎么去掉标签的hover效果
    java与javascript
    sendRedirect 与forward的区别
    windows--添加程序到右键菜单中
    收集:word xml格式
  • 原文地址:https://www.cnblogs.com/show530/p/8541155.html
Copyright © 2011-2022 走看看