標籤: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 return15 elif list[mid]<item:16 low=mid+117 elif list[mid]>item:18 high=mid-119 else:20 print("沒有這個數字")21 return22 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 break31 else:32 BinarySearch(arr, int(key))
python學習(5)寫一個二分演算法的程式