日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python编程基础(一):编程思想

發布時間:2025/4/5 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python编程基础(一):编程思想 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編程核心思想:以前我java老師曾告訴我們編程思想:初級選手應該從內而外、從小到大,先從實現一個簡單的小功能開始,一點一點往里加,最后讓功能變復雜(簡單->復雜:可以先假定最理想、最簡單的數據,在最理想數據的基礎上實現之后,再測試修改麻煩的數據模式);而高級選手喜歡從上而下,從難到易,他們傾向于先搭建一個整體的結構框架,再由外而內地一點點地填充起內部簡單語句。

-->?當一個函數或算法太復雜時,可以分塊完成。比如,統計詞頻可以分為輸入、統計、輸出;SimHash算法可能分為擴展、加減權重、收縮等步驟。

--> 編程的精神是開源和共享,網絡上有很多可以實現某個功能的代碼片段,可以粘貼復制重復利用,而不用自己從頭到尾苦心孤詣地一點點寫。

工程思維

  • 需要再三再三再三明確具體需求。工程需求是最重要的,一定要仔細反復討論,容不得半點馬虎、模糊或不理解
  • 先形成一個規范、合理、準確的算法。
  • 然后,再用編程將其實現。
  • ==>科研和工程的區別

    • 科研注重的是研究,講求新;而工程注重的是應用,講求用,方法不必最新,能滿足需求應用就行。
    • 科研注重的是研究,關注研究的背景和意義;而工程注重的是方法能不能實現工程需求,方法能不能在實際環境中達到可用性。

    目錄

    ?

    1. 雙層循環思想

    2. 迭代思想

    3. 遞歸思想


    1. 雙層循環思想

    循環、迭代前提一定要弄清楚循環條件循環操作對象

    應用場景:重復反饋過程的活動,不過每一次重復都需要重新遍歷原數組。比如:最長回文字符串

    • ?遍歷一個數組或序列并在這個數組上進行操作,可以使用雙層循環控制。比如:
    • ?依次遞減需要檢測字符串的長度,直到子字符串為空,長度為0,這是一個典型的while循環呀
    • ?跳出雙層循環。break只跳出單層循環,雙層循環需要兩個break和一個if trigger布爾邏輯判斷。

    應用方法:循環條件為長度判斷時->外層while循環,內層for循環;循環條件為中心或索引判斷時->外層for循環,內層for循環

    應用案例:最大回文字符串;

    -->?雙層循環與迭代區別:雙層循環每一次重復都是對原數組進行操作;迭代是每一次重復的結果會作為下一次迭代的初始值,對更新后的數組進行操作。

    # 最大回文字符串-枚舉法 def verifyreverse(st):current = len(st)trigger = Falsewhile current > 0:for i in range(len(st) - current + 1):tmp = st[i:i + current]# print(tmp)if tmp == tmp[::-1]:target = tmptrigger = Truebreakcurrent -= 1if trigger:breakreturn targetprint verify reverse("efbaabdi")

    2. 迭代思想

    迭代(iteration):重復反饋過程的活動,每一次迭代的結果會作為下一次迭代的初始值。(A重復調用B

    應用場景:重復反饋過程的活動,不過每一次迭代的結果會作為下一次迭代的初始值,對更新后的數組進行操作。

    應用方法:left_index = 0; right = len(string) - 1?

    應用案例:二分法查找元素和元素索引

    --> 迭代和遞歸區別:迭代是A重復調用B;遞歸是A重復調用A

    3. 遞歸思想

    遞歸(recursion):遞歸常被用來描述以自相似方法重復事物的過程,在數學和計算機科學中,指的是在函數定義中使用函數自身的方法。(A調用A

    ?

    總結

    以上是生活随笔為你收集整理的python编程基础(一):编程思想的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。