码迷,mamicode.com
首页 > 编程语言 > 详细

python学习(5)写一个二分算法的程序

时间:2018-03-10 18:46:30      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:list   算法   pre   name   python   初步了解   查找   pytho   str   

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

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

另外,初步接触到了 __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))

 

python学习(5)写一个二分算法的程序

标签:list   算法   pre   name   python   初步了解   查找   pytho   str   

原文地址:https://www.cnblogs.com/show530/p/8541155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!