本書以條列式介紹常用的 python 語法,避免冗長文字陳述,
使你能快速抓住重點,縮短語法學習的時間,即使重新閱讀時也能很快回復記憶。然而,程式語法不等於程式設計,撰寫程式首先要有明確的解題步驟,才能由之轉為程式碼。
若沒有解題步驟,縱使有滿肚子的程式語法,也無法完成程式設計。
程式設計之所以讓許多人學而無功,往往是因為忘了在程式設計過程中利用數學。
許多程式問題表面上看不到數學,但並不表示數學不存在,
數學善於偽裝,經常隱身於問題之後,若要完成程式設計,就得將隱藏於幕後的數學問題抓出來解決。
本書特別教授如何在面對程式問題時利用「數學思維」來分析問題,找出解題步驟,
再由之轉為程式碼以完成程式設計。
當你能善用「數學思維」於程式設計中,就經常能「突然間」找到程式問題的解題步驟,
學習成效即會大增,同時學習過程充滿著成就感,撰寫程式就會變成一種享受。
作者簡介:
吳維漢
本書作者現為國立中央大學數學系老師,
長期在數學系教授數值計算與程式設計等相關課程,
著有《深度學習C++》一書。
近年致力於研發國小數學程式出題網站:「子由數學小學堂」,
該網站內含萬題以上由 C++ 程式語言所設計的數學題型,
免費提供網友產生各式數學試卷,廣受家長與老師的歡迎。
目前於國立中央大學理學院負責推廣程式語言融入教學,
期能藉由程式模擬教學內容以提升學生於專業課程的學習成效。
作者序
筆者數年前透過網路資源自學python 程式語言,學習過程中經常忘記語法而無法自在的練習程式,於是將四處學來的語法內容與一些心得整理成投影片供自己快速回顧。投影片在製作時儘量以簡單例子來展示語法,減少過多細節陳述,並試著以python 思維來呈現python 程式,避免夾雜混入其他程式語言的習慣用法。經過幾年的修訂與補充,內容也逐漸完整,遂將這些投影片依學生學習順序改寫成教學投影片,提供學生於課後快速複習。
由於投影片少有冗長的文字陳述,重新閱讀時可很快的回復記憶,抓住重點,學生普遍反應良好。但投影片每一頁的篇幅有限,無法像紙本講義可一次看到數頁內容,前後參考比較。於是利用時間將投影片重新排版成A4 講義型式,並於每章附上大量習題供學生練習。
相較於其他程式語言,python 提供了許多方便的工具與套件。相同的程式問題,以python 程式語言撰寫的程式碼往往比其他程式語言簡潔許多,開發程式極其便利快速。同時與傳統程式語言相比,python 程式語言的學習難度相對容易,非常適合當成初學者的第一個程式語言。這也是python 程式語言為何在眾多程式語言中得以脫穎而出,為許多領域優先選擇的程式語言。
目前全世界各國都已認知到程式設計對本國科技發展的重要性,紛紛在其國民教育中納入基礎程式設計課程,從小扎根培養學童的程式邏輯思維。由筆者的觀察,學習程式的人數雖越來越多,但其中學好的人仍僅有少數。許多人雖花了不少時間學習程式語法,也做過許多程式問題, 但若隨便給個沒有見過的基礎題目,仍然不知從何寫起。究其原因在於許多初學者將學程式當成學習程式語法,而不是學習如何設計程式。前者簡單,翻書或參考網頁即可;後者困難,處處充滿挑戰,隨時需應用邏輯思考。沒有方法的學寫程式,最後多以放棄了結。
本講義除了介紹python 程式語法外,最重要是教你在遇到問題時該如何思考找出方法來解決問題,講義由第三章起都有許多範例以逐步引導利用「數學思維」來完成程式設計。所謂的「數學思維」即是在解題過程中,以間接或直接方式使用數學技巧、概念或知識來解決問題。許多程式問題表面上看不到數學式子,但並不表示用不到數學。數學善於偽裝,總是隱身於問題之中,若要完成程式設計,就得將隱藏在問題中的數學抓出來。初學者遇到程式問題若能隨時利用「數學思維」分析題目,學會如何分解題目,簡化條件來降低問題難度,如此就很容易「突然間」找到解決程式問題的切入點,之後逐步加入條件,即可完成原有的程式問題。學習成效即會大增, 學程式過程也就容易獲得成就感,寫程式就變得是一種另類的享受。
講義的每一章末尾都有許多練習題,這些練習題是本講義的最大特色。許多題目都需要經過一番思考才有辦法動手撰寫,無法即看即寫,目的是希望讀者在學程式過程,學會如何以「數學思維」來解決問題。對毫無頭緒的問題,試著先透過紙筆推導,逐步找出關聯,建構解題步驟,之後才用鍵盤將抽象步驟轉為實體程式碼,如此可避免毫無方向的撰寫程式,胡亂修改測試,以致於幾個小時過後仍是一事無成,時日一久,自然多以「陣亡」收場。但事實上,只要在撰寫程式過程養成紙筆推導習慣,你將發現過去所學的國高中數學對程式設計的重要性。紙筆推導是完成程式設計的一個重要階段,少了紙筆推導,其省下的時間遠不足以補償在程式撰寫階段來來回回修改所浪費的時間。
講義有些文字有數字上標,例如:行道樹46,此數字為講義頁碼,讀者可參閱此頁碼取得更多相關資料。本講義另附有學習網站,網站內有講義全10 章投影片,網址可輸入以下關鍵字搜尋取得:
搜尋:「中央數學python 教學網」
講義中有些範例或習題需使用資料檔,例如:內文若出現(foo@web),則代表foo 檔是資料檔, 這些資料檔都可由學習網站下載取得。
最後期勉程式語言的初學者,即使python 語法如何簡單,學好程式的關鍵仍在練習,任何程式語言都無法以閱讀方式即能熟練,親自敲打程式並且大量演練才是學好程式設計的不二法門。
學好程式設計需要大量操作練習,沒有其他竅門。
本書的編排採用陳弘毅教授為Linux 作業系統所開發的chitex (_TEX),這是一種非常好用的中文LATEX。在撰寫過程中,常常受到陳老師的熱心協助,特此致上感謝之意。
國立中央大學數學系
吳維漢
107/12/05
筆者數年前透過網路資源自學python 程式語言,學習過程中經常忘記語法而無法自在的練習程式,於是將四處學來的語法內容與一些心得整理成投影片供自己快速回顧。投影片在製作時儘量以簡單例子來展示語法,減少過多細節陳述,並試著以python 思維來呈現python 程式,避免夾雜混入其他程式語言的習慣用法。經過幾年的修訂與補充,內容也逐漸完整,遂將這些投影片依學生學習順序改寫成教學投影片,提供學生於課後快速複習。
由於投影片少有冗長的文字陳述,重新閱讀時可很快的回復記憶,抓住重點,學生普遍反應良好。但投影片每一頁的篇幅有限...
目錄
前言
第一章:型別與迴圈
第二章:邏輯、條件式與迴圈
第三章:用數學寫程式
第四章:串列(一)
第五章:串列(二)
第六章:字串
第七章:檔案
第八章:集合、字典
第九章:函式
第十章:類別
附錄A:小數與浮點數
附錄B:等差數列的應用
附錄C:裝飾器
索引
前言
第一章:型別與迴圈
第二章:邏輯、條件式與迴圈
第三章:用數學寫程式
第四章:串列(一)
第五章:串列(二)
第六章:字串
第七章:檔案
第八章:集合、字典
第九章:函式
第十章:類別
附錄A:小數與浮點數
附錄B:等差數列的應用
附錄C:裝飾器
索引
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。