編 程
1.計算并返回一個非負整數在10進制下的位數。

2.對一個數組(list)中的元素從小到大排序。

3.統計一個列表中每個元素的個數,輸入為一個列表,輸出為一個字典,key是元素值,value是元素的個數。

4.在一個數組中查找第二大的元素。

5.假設一年365天(不考慮閏年),輸入一個1~365之間的數字,輸出月份和日期。例如,輸入35,輸出“Feburary-4”。

6.文件操作練習,打開一個文件,輸入三行“hello,world!”,保存并關閉文件。打開同一個文件,追加一行“hello,python!”,保存并關閉文件。打開該文件,輸出所有行。
7.計算斐波那契數列的第n項(可以考慮遞歸算法)。

8.定義如下的ReLU函數(神經網絡的激活函數)。


9.用二維的列表表示矩陣,實現矩陣乘法的算法,并計算A2。

10.請前往Python官方網站查閱API文檔中關于Random的使用方法。在二維空間中定義一個正方形區域-1≤x≤1,-1≤y≤1,用Random產生10萬個位于正方形區域內的點,并計算這些點落在以(0,0)為圓心、半徑為1的圓內的比例。
(1) 在中國香港、臺灣等地區,行、列的翻譯與大陸通用譯法相反。
(2) 解決某一問題的計算步驟也被稱為算法。一個算法可以用不同的語言實現。
(3) 在程序語言中,每一門語言的入門都是從屏幕輸出“hello,world!”開始的。這表示,我們要用這門語言向世界問好。
(4) 下文中,有時也將變量賦值表達為用變量存儲一個值,這種說法源自程序在計算機硬件上的運行方式。例如,a=1表示將值1賦值給變量a,也稱用變量a存儲值1。
(5) 大部分程序均用i遍歷容器。i是英文index(索引)的首字母,也常用于代數中表示腳標。另外,j和k也是常用的遍歷變量。
(6) 函數的概念將在0.2.5節中介紹。
(7) 實際是生成一個列表的“迭代器”,它可以像列表一樣被操作,本書不詳細描述。
(8) 換言之,一個模塊內的全局變量的命名空間僅限于該模塊內部。
(9) 這種方式并不被推薦,因為它會導致引用者能夠訪問更多的模塊內結構。如果訪問并非必要,則可能引起程序安全或者語義混淆問題。
(10) 詳細列表見Python官方文檔,https://docs.python.org/3/library/functions.html。
(11) 官方文檔,https://docs.python.org/3.7/library/math.html。
(12) 可包含路徑信息,路徑信息的描述方式與操作系統中路徑描述方式相同:可以是相對路徑,“.”表示當前目錄,“..”表示上一級目錄,用“\”或者“/”分割開各級目錄;也可以是絕對路徑,從根目錄開始,逐級描述到最終的文件。
(13) 對二進制文件,相應的參數為“rb”“wb”“ab”。
(14) 正確的編程習慣是不管對文件進行讀還是寫操作,最后都要調用close()來關閉文件。這樣能確保操作系統對文件的任何動作不會出錯:讀文件之后不會破壞原文本內容,修改文件之后不會丟失最新的內容。
(15) 這類似用編輯器打開一個文件時,會有一個閃動的光標來描述當前位置,用戶對文件的添加、修改、刪除和選取都從光標處開始。
(16) “r+”模式在文件不存在時仍會報錯。二進制文件的“wb+”“ab+”“rb+”的含義與文本文件的模式相同。