死背 1000 題 ✘,不如用 50 題紮實打好 Python 底子!✔
許多人想換份更理想的工作, 選擇了 Python 語言, 並開始替求職面試做準備。可是, 一開始猛刷題、背答案, 真的能搞懂 Python 語言的基礎嗎?Python 到底哪些地方表現得跟其他語言不同, 你又要如何像老手一樣, 才有辦法寫出簡潔漂亮的解答?
擁有 MIT 電腦科學學士、西北大學學習科學博士學位的 Reuven M. Lerner, 自 1995 年起便投身全職科技教育──如今他在美國、歐洲、以色列與中國皆有授課, 協助無數學生的事業更上一層樓。這本書的內容, 便是他與學生在學 Python 的課後時間腦力激盪的成果。
本書精選 50 個練習題, 以刷題為出發點、但給你的不只是解答──書中題目依主題分門別類, 一一解釋 Python 語言的精華概念, 從資料型別、容器、迴圈到生成式、產生器、物件無所不包。甚至, 你能看到如何運用 Python 內建的強大功能進一步簡化練習題的解答。
與其上網刷 1000 題而不求甚解、進了職場屢屢犯錯, 不如先用 50 題練好紮實底子, 一舉突破學習 Python 的難關!
本書特色
☑ 複習 Python 重要基礎與概念
☑ 活用 Python 關鍵技巧與內建套件
☑ 學寫出精簡漂亮的 Python 程式
★ 附 Jupyter Notebook / Python Tutor 範例程式及原作者 177 分鐘線上教學影片
★ 加碼贈送:用本書技巧再刷 10 題,教你用 Python 的漂亮風格俐落解題
作者
Reuven M. Lerner
擁有 MIT 電腦科學學士、西北大學學習科學博士學位, 自 1995 年起便投身全職科技教育, 在美國、歐洲、以色列與中國皆有授課。
目錄
序
Ch 01 數值處理
練習01 暖身題──猜數字遊戲
練習02 加總一系列數字
練習03 計算平均練跑時間
練習04 將 16 進位數轉為 10 進位
Ch 02 字串處理
練習05 豬拉丁文
練習06 豬拉丁文 ── 句子翻譯機
練習07 ROT13 加密法
練習08 字元排序
Ch 03 list 與 tuple
▶ list 是不是陣列?和 tuple 到底有何差別?
練習09 擷取和合併多種容器的頭尾元素
練習10 萬用加總函式
練習11 依姓名排序聯絡資料
練習12 用排版格式輸出容器資料
練習13 尋找單字中重複最多次的字母
Ch 04 dict 與 set
練習14 餐廳點餐機
練習15 降雨量資料庫
練習16 有幾個不重複的數字?
練習17 比較兩個 dict 的差異
Ch 05 檔案處理
練習18 讀出檔案最後一行字
練習19 擷取登入帳號資訊
練習20 統計檔案的字元數、字數與行數
練習21 找出檔案內的最長單字
練習22 讀寫 CSV 檔 5-16
練習23 讀取 JSON 檔 5-21
練習24 批次檔案讀取 5-25
Ch 06 函式
練習23 選擇性參數的預設值
▶ Python 變數範圍規則:LEGB
練習25 XML 產生器
練習26 簡易前序式計算機
練習27 自訂密碼產生器
Ch 07 生成式:函數式程式設計
練習28 輸出一組數字的絕對值
練習29 只加總資料中的數字
練習30 用巢狀生成式『壓平』二維 list
練習31 豬拉丁文──檔案翻譯機
練習32 顛倒一個 dict 的鍵與值
練習33 擷取登入帳號資訊( 生成版)
練習34 過濾檔案中特定條件的單字
練習35 希伯來數字密碼 (Part I)
練習35 希伯來數字密碼 (Part II)
Ch 08 模組與套件
▶ import 的幾種語法
練習36 所得稅計算模組
▶ 創造與管理套件
練習37 函式選單模組
Ch 09 物件與類別
▶ 物件導向程式設計
▶ 物件的自我 ── self 參數
練習38 冰淇淋球
練習39 冰淇淋碗
練習40 類別屬性:冰淇淋碗上限
練習41 特大碗冰淇淋
練習42 以字串為鍵的自訂 dict
練習43 動物類別
練習44 動物展示區類別
練習45 動物園類別
Ch 10 走訪器與產生器
▶ 走訪器協定
練習46 自訂列舉容器
練習47 循環取值器
練習48 檔案單字產生器
練習49 產生器運算式
練習50 能計算時間長度的產生器
結語
致謝
附錄 用本書技巧挑戰額外解題
A-1 找兩個數字加總
A-2 找出出現最多次的數字
A-3 尋找數列中遺失的數字
A-4 能取最小和最大值的堆疊
A-5 檢查括號格式是否有效
A-6 移動零值到結尾
A-7 尋找單字共通的字首
A-8 反轉數字
A-9 反轉位元
A-10 羅馬數字轉數字