程序調用自身的編程技巧稱為遞歸( recursion)。遞歸做為一種演算法在程序設計語言中廣泛應用。 一個過程或函數在其定義或說明中有直接或間接調用自身的一種方法。
它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復計算,大大地減少了程序的代碼量。
遞歸的能力在於用有限的語句來定義對象的無限集合。一般來說,遞歸需要有邊界條件、遞歸前進段和遞歸返回段。當邊界條件不滿足時,遞歸前進;當邊界條件滿足時,遞歸返回。
Python
是完全面向對象的語言。函數、模塊、數字、字元串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標准庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。
B. python習題(演算法)
這個就是循環2n次呀。先是讓x=x+c,在把c更新一下c=c+b,最後讓b=b+a,這就完成一次循環了。
不過你給的程序不完整。
C. python演算法有哪些
演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
一個演算法應該具有以下七個重要的特徵:
①有窮性(Finiteness):演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;
②確切性(Definiteness):演算法的每一步驟必須有確切的定義;
③輸入項(Input):一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸 入是指演算法本身定出了初始條件;
④輸出項(Output):一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒 有輸出的演算法是毫無意義的;
⑤可行性(Effectiveness):演算法中執行的任何計算步驟都是可以被分解為基本的可執行 的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性);
⑥高效性(High efficiency):執行速度快,佔用資源少;
⑦健壯性(Robustness):對數據響應正確。
相關推薦:《Python基礎教程》
五種常見的Python演算法:
1、選擇排序
2、快速排序
3、二分查找
4、廣度優先搜索
5、貪婪演算法
D. Python貪心演算法
所謂貪心演算法是指在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優加以考慮,它所做出的僅僅是在某種意義上的局部最優解。下面讓我們來看一個經典的例題。假設超市的收銀櫃中有1分、2分、5分、1角、2角、5角、1元的硬幣。
顧客結賬如果需要找零錢時,收銀員希望將最少的硬幣數找出給顧客,那麼,給定需要找的零錢數目,如何求得最少的硬幣數呢?這個找零錢的基本思路:每次都選擇面值不超過需要找給顧客的錢最大面值的硬幣。
我們可以從面值最大的硬幣開始,然後依次遞減(圖1)。
首先定義列表d存儲已有幣值。並且定義d_num存儲每種幣值的數量。通過循環遍歷的方法計算出收銀員擁有錢的總金額並保存在變數S中,要找的零錢變數為sum。當找零的金_比收銀員的總金額多時,無法進行找零,提示報錯。要想用的錢幣數量最少,我們從面值最大的幣值開始遍歷。這里也就是我們貪心演算法的核心步驟。計算出每種硬幣所需要的數量,不斷地更新硬幣個數與硬幣面值,最終獲得一個符合要求的組合(圖2)。
貪心演算法在對問題求解時,不是對所有問題都能得到整體最優解,也不是從整體上去考慮,做出的只是在某種意義上的局部最優解。從面值最大的硬幣開始依次遞減,尋找可用的方法。一般貪心演算法並不能保證是最佳的解決方法,這是因為:總是從局部出發沒有從整體考慮,只能確定某些問題是有解的,優點是演算法簡單。常用來解決求最大值或最小值的問題。來源:電腦報
E. python演算法問題
你好,答案如下所示。
如圖所示
希望你能夠詳細查看。
如果你有不會的,你可以提問
我有時間就會幫你解答。
希望你好好學習。
每一天都過得充實。
F. python演算法題
摘要 for a in range( 1, 5):
G. 建議收藏!10 種 Python 聚類演算法完整操作示例
聚類或聚類分析是無監督學習問題。它通常被用作數據分析技術,用於發現數據中的有趣模式,例如基於其行為的客戶群。有許多聚類演算法可供選擇,對於所有情況,沒有單一的最佳聚類演算法。相反,最好探索一系列聚類演算法以及每種演算法的不同配置。在本教程中,你將發現如何在 python 中安裝和使用頂級聚類演算法。完成本教程後,你將知道:
聚類分析,即聚類,是一項無監督的機器學習任務。它包括自動發現數據中的自然分組。與監督學習(類似預測建模)不同,聚類演算法只解釋輸入數據,並在特徵空間中找到自然組或群集。
群集通常是特徵空間中的密度區域,其中來自域的示例(觀測或數據行)比其他群集更接近群集。群集可以具有作為樣本或點特徵空間的中心(質心),並且可以具有邊界或范圍。
聚類可以作為數據分析活動提供幫助,以便了解更多關於問題域的信息,即所謂的模式發現或知識發現。例如:
聚類還可用作特徵工程的類型,其中現有的和新的示例可被映射並標記為屬於數據中所標識的群集之一。雖然確實存在許多特定於群集的定量措施,但是對所識別的群集的評估是主觀的,並且可能需要領域專家。通常,聚類演算法在人工合成數據集上與預先定義的群集進行學術比較,預計演算法會發現這些群集。
有許多類型的聚類演算法。許多演算法在特徵空間中的示例之間使用相似度或距離度量,以發現密集的觀測區域。因此,在使用聚類演算法之前,擴展數據通常是良好的實踐。
一些聚類演算法要求您指定或猜測數據中要發現的群集的數量,而另一些演算法要求指定觀測之間的最小距離,其中示例可以被視為「關閉」或「連接」。因此,聚類分析是一個迭代過程,在該過程中,對所識別的群集的主觀評估被反饋回演算法配置的改變中,直到達到期望的或適當的結果。scikit-learn 庫提供了一套不同的聚類演算法供選擇。下面列出了10種比較流行的演算法:
每個演算法都提供了一種不同的方法來應對數據中發現自然組的挑戰。沒有最好的聚類演算法,也沒有簡單的方法來找到最好的演算法為您的數據沒有使用控制實驗。在本教程中,我們將回顧如何使用來自 scikit-learn 庫的這10個流行的聚類演算法中的每一個。這些示例將為您復制粘貼示例並在自己的數據上測試方法提供基礎。我們不會深入研究演算法如何工作的理論,也不會直接比較它們。讓我們深入研究一下。
在本節中,我們將回顧如何在 scikit-learn 中使用10個流行的聚類演算法。這包括一個擬合模型的例子和可視化結果的例子。這些示例用於將粘貼復制到您自己的項目中,並將方法應用於您自己的數據。
1.庫安裝
首先,讓我們安裝庫。不要跳過此步驟,因為你需要確保安裝了最新版本。你可以使用 pip Python 安裝程序安裝 scikit-learn 存儲庫,如下所示:
接下來,讓我們確認已經安裝了庫,並且您正在使用一個現代版本。運行以下腳本以輸出庫版本號。
運行該示例時,您應該看到以下版本號或更高版本。
2.聚類數據集
我們將使用 make _ classification ()函數創建一個測試二分類數據集。數據集將有1000個示例,每個類有兩個輸入要素和一個群集。這些群集在兩個維度上是可見的,因此我們可以用散點圖繪制數據,並通過指定的群集對圖中的點進行顏色繪制。這將有助於了解,至少在測試問題上,群集的識別能力如何。該測試問題中的群集基於多變數高斯,並非所有聚類演算法都能有效地識別這些類型的群集。因此,本教程中的結果不應用作比較一般方法的基礎。下面列出了創建和匯總合成聚類數據集的示例。
運行該示例將創建合成的聚類數據集,然後創建輸入數據的散點圖,其中點由類標簽(理想化的群集)著色。我們可以清楚地看到兩個不同的數據組在兩個維度,並希望一個自動的聚類演算法可以檢測這些分組。
已知聚類著色點的合成聚類數據集的散點圖接下來,我們可以開始查看應用於此數據集的聚類演算法的示例。我已經做了一些最小的嘗試來調整每個方法到數據集。3.親和力傳播親和力傳播包括找到一組最能概括數據的範例。
它是通過 AffinityPropagation 類實現的,要調整的主要配置是將「 阻尼 」設置為0.5到1,甚至可能是「首選項」。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,我無法取得良好的結果。
數據集的散點圖,具有使用親和力傳播識別的聚類
4.聚合聚類
聚合聚類涉及合並示例,直到達到所需的群集數量為止。它是層次聚類方法的更廣泛類的一部分,通過 AgglomerationClustering 類實現的,主要配置是「 n _ clusters 」集,這是對數據中的群集數量的估計,例如2。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,可以找到一個合理的分組。
使用聚集聚類識別出具有聚類的數據集的散點圖
5.BIRCHBIRCH
聚類( BIRCH 是平衡迭代減少的縮寫,聚類使用層次結構)包括構造一個樹狀結構,從中提取聚類質心。
它是通過 Birch 類實現的,主要配置是「 threshold 」和「 n _ clusters 」超參數,後者提供了群集數量的估計。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,可以找到一個很好的分組。
使用BIRCH聚類確定具有聚類的數據集的散點圖
6.DBSCANDBSCAN
聚類(其中 DBSCAN 是基於密度的空間聚類的雜訊應用程序)涉及在域中尋找高密度區域,並將其周圍的特徵空間區域擴展為群集。
它是通過 DBSCAN 類實現的,主要配置是「 eps 」和「 min _ samples 」超參數。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,盡管需要更多的調整,但是找到了合理的分組。
使用DBSCAN集群識別出具有集群的數據集的散點圖
7.K均值
K-均值聚類可以是最常見的聚類演算法,並涉及向群集分配示例,以盡量減少每個群集內的方差。
它是通過 K-均值類實現的,要優化的主要配置是「 n _ clusters 」超參數設置為數據中估計的群集數量。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,可以找到一個合理的分組,盡管每個維度中的不等等方差使得該方法不太適合該數據集。
使用K均值聚類識別出具有聚類的數據集的散點圖
8.Mini-Batch
K-均值Mini-Batch K-均值是 K-均值的修改版本,它使用小批量的樣本而不是整個數據集對群集質心進行更新,這可以使大數據集的更新速度更快,並且可能對統計雜訊更健壯。
它是通過 MiniBatchKMeans 類實現的,要優化的主配置是「 n _ clusters 」超參數,設置為數據中估計的群集數量。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,會找到與標准 K-均值演算法相當的結果。
帶有最小批次K均值聚類的聚類數據集的散點圖
9.均值漂移聚類
均值漂移聚類涉及到根據特徵空間中的實例密度來尋找和調整質心。
它是通過 MeanShift 類實現的,主要配置是「帶寬」超參數。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,可以在數據中找到一組合理的群集。
具有均值漂移聚類的聚類數據集散點圖
10.OPTICSOPTICS
聚類( OPTICS 短於訂購點數以標識聚類結構)是上述 DBSCAN 的修改版本。
它是通過 OPTICS 類實現的,主要配置是「 eps 」和「 min _ samples 」超參數。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,我無法在此數據集上獲得合理的結果。
使用OPTICS聚類確定具有聚類的數據集的散點圖
11.光譜聚類
光譜聚類是一類通用的聚類方法,取自線性線性代數。
它是通過 Spectral 聚類類實現的,而主要的 Spectral 聚類是一個由聚類方法組成的通用類,取自線性線性代數。要優化的是「 n _ clusters 」超參數,用於指定數據中的估計群集數量。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,找到了合理的集群。
使用光譜聚類聚類識別出具有聚類的數據集的散點圖
12.高斯混合模型
高斯混合模型總結了一個多變數概率密度函數,顧名思義就是混合了高斯概率分布。它是通過 Gaussian Mixture 類實現的,要優化的主要配置是「 n _ clusters 」超參數,用於指定數據中估計的群集數量。下面列出了完整的示例。
運行該示例符合訓練數據集上的模型,並預測數據集中每個示例的群集。然後創建一個散點圖,並由其指定的群集著色。在這種情況下,我們可以看到群集被完美地識別。這並不奇怪,因為數據集是作為 Gaussian 的混合生成的。
使用高斯混合聚類識別出具有聚類的數據集的散點圖
在本文中,你發現了如何在 python 中安裝和使用頂級聚類演算法。具體來說,你學到了:
H. python中有哪些簡單的演算法
首先謝謝邀請,
python中有的演算法還是比較多的?
python之所以火是因為人工智慧的發展,人工智慧的發展離不開演算法!
感覺有本書比較適合你,不過可惜的是這本書沒有電子版,只有紙質的。
這本書對於演算法從基本的入門到實現,循序漸進的介紹,比如裡面就涵蓋了數學建模的常用演算法。
第 1章從數學建模到人工智慧
1.1數學建模1.1.1數學建模與人工智慧1.1.2數學建模中的常見問題1.2人工智慧下的數學1.2.1統計量1.2.2矩陣概念及運算1.2.3概率論與數理統計1.2.4高等數學——導數、微分、不定積分、定積分
第2章 Python快速入門
2.1安裝Python2.1.1Python安裝步驟2.1.2IDE的選擇2.2Python基本操作2.2.1第 一個小程序2.2.2注釋與格式化輸出2.2.3列表、元組、字典2.2.4條件語句與循環語句2.2.5break、continue、pass2.3Python高級操作2.3.1lambda2.3.2map2.3.3filter
第3章Python科學計算庫NumPy
3.1NumPy簡介與安裝3.1.1NumPy簡介3.1.2NumPy安裝3.2基本操作3.2.1初識NumPy3.2.2NumPy數組類型3.2.3NumPy創建數組3.2.4索引與切片3.2.5矩陣合並與分割3.2.6矩陣運算與線性代數3.2.7NumPy的廣播機制3.2.8NumPy統計函數3.2.9NumPy排序、搜索3.2.10NumPy數據的保存
第4章常用科學計算模塊快速入門
4.1Pandas科學計算庫4.1.1初識Pandas4.1.2Pandas基本操作4.2Matplotlib可視化圖庫4.2.1初識Matplotlib4.2.2Matplotlib基本操作4.2.3Matplotlib繪圖案例4.3SciPy科學計算庫4.3.1初識SciPy4.3.2SciPy基本操作4.3.3SciPy圖像處理案例第5章Python網路爬蟲5.1爬蟲基礎5.1.1初識爬蟲5.1.2網路爬蟲的演算法5.2爬蟲入門實戰5.2.1調用API5.2.2爬蟲實戰5.3爬蟲進階—高效率爬蟲5.3.1多進程5.3.2多線程5.3.3協程5.3.4小結
第6章Python數據存儲
6.1關系型資料庫MySQL6.1.1初識MySQL6.1.2Python操作MySQL6.2NoSQL之MongoDB6.2.1初識NoSQL6.2.2Python操作MongoDB6.3本章小結6.3.1資料庫基本理論6.3.2資料庫結合6.3.3結束語
第7章Python數據分析
7.1數據獲取7.1.1從鍵盤獲取數據7.1.2文件的讀取與寫入7.1.3Pandas讀寫操作7.2數據分析案例7.2.1普查數據統計分析案例7.2.2小結
第8章自然語言處理
8.1Jieba分詞基礎8.1.1Jieba中文分詞8.1.2Jieba分詞的3種模式8.1.3標注詞性與添加定義詞8.2關鍵詞提取8.2.1TF-IDF關鍵詞提取8.2.2TextRank關鍵詞提取8.3word2vec介紹8.3.1word2vec基礎原理簡介8.3.2word2vec訓練模型8.3.3基於gensim的word2vec實戰
第9章從回歸分析到演算法基礎
9.1回歸分析簡介9.1.1「回歸」一詞的來源9.1.2回歸與相關9.1.3回歸模型的劃分與應用9.2線性回歸分析實戰9.2.1線性回歸的建立與求解9.2.2Python求解回歸模型案例9.2.3檢驗、預測與控制
第10章 從K-Means聚類看演算法調參
10.1K-Means基本概述10.1.1K-Means簡介10.1.2目標函數10.1.3演算法流程10.1.4演算法優缺點分析10.2K-Means實戰
第11章 從決策樹看演算法升級
11.1決策樹基本簡介11.2經典演算法介紹11.2.1信息熵11.2.2信息增益11.2.3信息增益率11.2.4基尼系數11.2.5小結11.3決策樹實戰11.3.1決策樹回歸11.3.2決策樹的分類
第12章 從樸素貝葉斯看演算法多變193
12.1樸素貝葉斯簡介12.1.1認識樸素貝葉斯12.1.2樸素貝葉斯分類的工作過程12.1.3樸素貝葉斯演算法的優缺點12.23種樸素貝葉斯實戰
第13章 從推薦系統看演算法場景
13.1推薦系統簡介13.1.1推薦系統的發展13.1.2協同過濾13.2基於文本的推薦13.2.1標簽與知識圖譜推薦案例13.2.2小結
第14章 從TensorFlow開啟深度學習之旅
14.1初識TensorFlow14.1.1什麼是TensorFlow14.1.2安裝TensorFlow14.1.3TensorFlow基本概念與原理14.2TensorFlow數據結構14.2.1階14.2.2形狀14.2.3數據類型14.3生成數據十二法14.3.1生成Tensor14.3.2生成序列14.3.3生成隨機數14.4TensorFlow實戰
希望對你有幫助!!!
貴在堅持,自己掌握一些,在工作中不斷打磨,高薪不是夢!!
I. 計算機二級python考試題型
計算機二級python的考試題型有單項選擇題、基本編程題、簡單應用題和綜合應用題四個模塊,分值分別為40分,18分,24分和18分,及格分數為60分,每一場考試有3套題,一般為隨機分配。
2、基本編程題
該部分為填空題,考生需要根據給出的程序框架把內容補充完整,並且我們當時考試的時候是可以切換到python編碼頁面進行驗算的,這一模塊只要好好學基本上都能填對。
3、簡單運用題
這一模塊有兩道題,其中一道為turtle(三套題都有考),以補全代碼的形式出現,即在不修改系統給出的代碼的情況下將代碼補齊,另一道不同套卷考察的內容不同,我那時候考察的是函數。
4、綜合應用題
一般是文件管理,分詞排序、文件讀寫等,相比起前面的題目會有些難度。
總結:其實python二級考試內容並不難,總體上通過率還是很高的,通過後會有合格和優秀之分,想要達到優秀會有一定難度。
J. #Python干貨#python實現——最優化演算法
函數詳見rres,此代碼使該演算法運行了兩次
收獲:
這是我第一個實現的代碼。學習完該演算法以後,邏輯框架基本上就有了,剩下需要明確的就是對應的python的語言。於是我就開始了查找「如何定義函數」(詳見mofan的優酷),「循環體」和「if條件語句」的格式(https://blog.csdn.net/qq_39407518/article/details/79822498)「數學符號」(詳見mofan的優酷),以及print的使用
1.def是python中指定義,一般用來定義函數,如果需要深度學習搭建網路可用來定義網路。值得注意的一點是
我不清楚為什麼,但是如果沒有加的話,那個函數公式就是一個花瓶,就像一個結果輸不出去。
2.最坑的就是邏輯。一開始邏輯沒理清楚,或者說在代碼上有疏漏,導致我將left和right放在了循環體里,結果可想而知。不過也是因為這個錯誤,我知道pycharm中的debug怎麼用,挺簡單的,網路一下就出來了。
3.不知道什麼原因,看的莫煩視頻中的print多個變數一起輸出是沒有辦法在我的pycharm中使用的,出來的結果很奇怪。可能是因為我是win10不是ios吧。print如果多個變數一起輸出必須是print("名字:%s,名字2:%s"%(a,b))結果輸出就是名字:a ,名字2:b
關於python中數據變數。第一遍運行結果出現很明顯不對,於是我採用了debug。結果發現,mid1處一直為1而不是1.5,於是就開始了解數據變數。起初我猜測python默認所有變數為整型,但是根據二分法的結果我意識到此猜測不對,所以要改整個file的變數格式沒有必要。所以我就在mid1式子前面加了一個float,結果就顯示為1.5了。但是如果我將整個式子用()括起來,前面加float,結果還是1。我不太理解為什麼。不過我知道了python的數據格式是根據輸入量決定的,也就是說你的輸入量如果是整型,那麼與其直接相關的計算輸出結果一定是整型,而且還是不採用進位的整型。在我沒有採用+float/+.0這兩種方法之前,mid1~3全部是整型。
或者不再mid1前面加float,直接將輸入量後面點個點就行
真的很想吐槽一下print,好麻煩啊啊啊啊每次都得弄個%s,而且有時候還不能放一起!!!!
不要問我掌握了什麼,要問我現在寫完這個代碼後有多麼的愛python的精度表示 :-)我決定以後只要再編寫數學公式的代碼都將輸入量的小數學點後面補很多0
fibonacci函數定義,每次debug後我的手都是抖的O( _ )O~
不知道自己什麼時候有的強迫症,只要是代碼下面有「~」我就必須要消掉。笑哭。這個很簡單,前四個除了費波納茨,都很簡單。
這個公式看起來很麻煩,便寫的時候更要謹慎。我上回把那個2擱在了分號下面,結果很大,所以還是換算成0.5更好(PS:勿忘那長河般的0)。
雖然代碼很長,但是主要是因為print太多。本打算在開頭print,最後結果會漏掉最後一部分。懶得想其他辦法了,直接就這樣吧
一開始while裡面寫成了>,導致run不出來。繼而,debug也沒法用。在網上一查才知道 「沒聯網」+「沒選斷點」。最後想嘗試將else裡面的內容輸出來,結果發現run以後被刷屏了。於是改成i<7以後還是不行,於是想著加一個break跳出循環,結果成效了。
然後剛剛由debug了一下,才知道原來是i+1在if裡面,因為沒有辦法+1,所以i=6一直存在,就不斷循環。因為加break也好,i+1也好,都可以。
這是我第一組自己實現的python代碼,就是數學公式用python語言組裝起來。剛開始的時候知道大概需要在語言中體現什麼,但不太清楚。於是我就在網上找了幾個二分法的,他們都各有不同,但框架都差不多,不過如果要用到我們的那個公式里還需要改變很多。然後我就開始分析我們的題,我發現大體需要兩部分,一部分函數定義,一部分循環體。但我不知道如何定義函數,如何寫數學公式,如何弄變數,也就是說一些小點不太會,所以我選擇直接網路。因為我知道自己閱讀的能力不錯,相比於從視頻中提取要素,我更擅長通過閱讀獲得要點。有目的性地找知識點,掌握地更牢固。
於是我就開始了第一個——二分法的編寫。我發現,自己出現了很多錯誤而且有很多地方都很基礎。但我依然沒選擇視頻,而是將這些問題直接在網路上找,因為視頻講完或許你也沒找到點。當然,這是一步一步走的,不是直接就將程序擺上去,一點一點改。
隨著前兩個的成功,我發現自己對於這些代碼有了自信,似乎看透了他們的偽裝,抓住了本質。除此之外,我還意識到自己自從8月份以後,學習能力似乎提高了不少,而且有了更為有效的學習方法。各方面都有了一定的覺醒。除了第一個找了幾個牛頭不對馬嘴的代碼,其他都是根據自己的邏輯寫,邏輯通下來以後,對應語言中某一部分不知道如何翻譯就去網路,其實這幾個套路都一樣或者說數學公式轉化的套路都一樣。
我還意識到,匯編其實是最難的語言,目前為止所學到的,因為很多都需要自己去定義,去死摳,需要記住大量的指令且不能靈活變通。但是其他的卻只需要將一些對應的記下來就好。python真的挺簡單的。而且,我發現自己今天似乎打開了新世界的大門,我愛上了這種充滿了靈性的東西,充滿了嚴謹的美麗,還有那未知的變化,我發現我似乎愛上了代碼。可能不僅僅局限於python,這些語言都充滿了挑戰性。我覺得當你疑惑的時候,就需要相信直覺,至少我發現它很准