chpter11~函數和函數式編程

11-3 函數。在這個練習中,咱們將實現 max()和 min()內建函數。python

(a) 寫一個帶兩個元素的 max2() 和 min2()函數,分別返回一個較大和較小元素。舉例來講,max2(4,8)和 min2(4,8)會各自每次返回 8 和 4。編程

(b) 建立使用了在 a 部分中的解來重構 max()和 min()的新函數 my_max()和 my_min().這些函數分別返回非空隊列中一個最大和最小值。它們也能帶一個參數集合做爲輸入。用數字和字符串來測試你的解。函數式編程

11-7. 用map()進行函數式編程。給定一對同一大小的列表,如[1,2,3]和[‘abc’,’def,‘ghi’, …,將兩個標歸併爲一個由每一個列表元素組成的元組的單一的表,以使咱們的結果看起來像這樣:{[(1,‘abc’), (2,‘def’), (3,‘ghi’), …]。(雖然這問題在本質上和第6章的一個問題類似,那時兩個解沒有直接的聯繫)而後建立用zip內建函數建立另外一個解。函數

11–8. 用 filer()進行函數式編程.使用練習 5-4 你給出的代碼來決定閏年。更新你的代碼一 邊他成爲一個函數若是你尚未那麼作的話。而後寫一段代碼來給出一個年份的列表並返回一個只 有閏年的列表。而後將它轉化爲用列表解析。測試

11–9. 用 reduce()進行函數式編程。複習 11.7.2 部分,闡述如何用 reduce()數字集合的累加的代碼。修改它,建立一個叫 average()的函數來計算每一個數字集合的簡單的平均值。對象

11–12. 傳遞函數。給在這章中描述的 testit()函數寫一個姊妹函數。timeit()會帶一個函數對象(和參數一塊兒)以及計算出用了多少時間來執行這個函數,而不是測試執行時的錯誤。 返回下面的狀態:函數返回值,消耗的時間。你能夠用 time.clock()或者 time.time(),不管哪個給你提供了較高的精度。 (通常的共識是在 POSIX 上用 time.time(), 在 win32 系統上用 time.clock()) 注意:timeit()函數與 timeit 模塊不相關(在 python2.3 中引入)隊列

相關文章
相關標籤/搜索