分享總結python小算法(列表篩選法求質數和猴子選大王問題)

首先,編程初步階段,需要積累和勤加練習的梳理下:

1,該語言的基礎語法體系和知識點反覆求證演練,並要知其然且知其所以然。基礎知識是後邊學習的關鍵基石,必須紮實,死記硬背是不行的,不能深入理解就不能靈活運用,因此要反覆演練,多問爲什麼這麼做,深究所以然讓你更懂該語言,更瞭解創作者的初衷和想法。

2,基礎算法反覆推敲,尤其經典算法題需要反覆推敲,把經典思維模式掌握,因爲很多大型較難理解的算法都是建立在經典算法的基礎之上,或有相似之處。

     反覆練習多寫課後習題,用一題多解來要求自己,多練習寫代碼,鍛鍊自己思路,日久便思路更加清晰透徹。

     接下來,首先,我要多整理python的知識體系和知識要點。用思維導圖結合課堂筆記加深記憶,並對比python核心編程2及其習題練習反推加深理論知識體系的建立。

     然後,借用C語言經典算法100例,用python也整理一套python經典算法100例,鍛鍊自己的基礎算法思維。

往後的任務是艱鉅的,編程的框架思維,數學算法的應用,結合互聯網和大數據加緊步入AI領域。


****下來進入主題,積累經典算法的python編寫:

最近遇到的習題,學習了相關的冒泡算法和選擇算法排序,自己編寫的:

1,利用篩選法求質數:

     (輸入一個整數n,求概數是否爲質數。思路:定義一個長度爲n的bool列表,表示輸入n的所有因子,True表示非整除因子,False表示整除因子,依次判斷,若遇到可以整除的因子標記其爲False,最後判斷bool列表中是否有False判斷輸入數是否爲質數)

n = int(input('請輸入一個整數:'))
a = [True]*n
for i in range(2,n):
    if n%i ==0:
        a[i-1]=False       #i爲第幾個bool值,i-1則代表對應的列表元素的下標
        print('此時列表中False處是可以被整除的因子:\n',a)
if False in a:
    print(n,'不是質數')
else:
    print(n,'是質數')


2,猴子選大王問題:

  15只猴子圍城一個圈報數,報到7淘汰報7的該猴子,其他猴子繼續報數,直到剩下最後一隻猴子則奉爲猴子大王!

a =[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]  #15只猴子按編號排序組成一個列表
while 1:
    for i in range(6):
        a.append(a[0])
        del a[0]
        if i==5:
            print('hello,del:',a[0])
            del a[0]
    if len(a)==1:
        print('猴子大王是:',a[0],'號')
        break


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章