今年的高考剛剛過去, 在數(shù)學(xué)考完的當天,“高考數(shù)學(xué)”又一次榮登微博熱搜榜榜首。

對于這場數(shù)學(xué)考試,可謂幾家歡喜幾家愁,圖靈君瀏覽著微博上讀者的留言深有感觸。


對于部分參加高考的同學(xué)來說,這場數(shù)學(xué)考試可能意味著他們與數(shù)學(xué)的緣分到此為止;然而,對于更多的小伙伴,這場數(shù)學(xué)考試只是大家與數(shù)學(xué)的一場短暫告別。人生的路很長,數(shù)學(xué)總會與你不期而遇。大部分小伙伴也終將在高考之后的人生里,對數(shù)學(xué)的認識越來越深刻——數(shù)學(xué)的重要性,數(shù)學(xué)與生活的千絲萬縷之關(guān)聯(lián),超出了大部分中學(xué)生的認知。不信,請咱們公眾號的讀者們,尤其是正在讀大學(xué),或者已經(jīng)步入工作崗位的朋友們,敞開聊一聊:后來,你到底如何看待數(shù)學(xué)?高考數(shù)學(xué)是你的“數(shù)學(xué)人生”巔峰時刻嗎?
記得圖靈君上學(xué)的時候,數(shù)學(xué)簡直就是我的噩夢,當時數(shù)學(xué)老師會在黑板上列一堆公式或者概念,配上無聊枯燥的說明文字和老師極具催眠效果的聲線——完全聽不下去!
我小時候的配圖也沒存下,來看看國外的數(shù)學(xué)教學(xué)(見圖1)。

(圖 1 學(xué)校數(shù)學(xué)教學(xué)法)
圖1 這段文本解釋了如何找到三角形的重心(或形心),涉及定義、命題和證明。閱讀量很大,還包含很多奇怪的符號。你可能很難想到這和幾何圖形有關(guān)。這樣的傳統(tǒng)教學(xué)方法并不會提起我們尋找三角形重心的興趣。
嗨,真的是,天下烏鴉一般黑呢!這就是傳統(tǒng)的學(xué)校數(shù)學(xué)教學(xué)法。
那如果換成下面的圖2 來講解這個問題呢?
(圖2 Python 數(shù)學(xué)教學(xué)法)
圖2 是一張由約 100 個旋轉(zhuǎn)的三角形組成的動態(tài)草圖——你一定很好奇這是如何實現(xiàn)的?這是個很有挑戰(zhàn)性的編程項目,如果你想讓三角形旋轉(zhuǎn)得當(而且轉(zhuǎn)得好看),就必須找到它的重心。
只需要一點三角形背后的數(shù)學(xué)知識(比如重心)就能很容易地運用編程創(chuàng)造出藝術(shù)品——對的,這時候數(shù)學(xué)成為了我們解決有趣問題的必備知識,而不是亦步亦趨找尋一個不知道是什么意義的答案。這種場景下,你怎么可能因為看到幾個平方根或一兩個三角函數(shù)就被嚇跑?你在創(chuàng)造,在設(shè)計,你要搞明白幾何學(xué)從而為你“華麗麗”的大項目服務(wù),而不是為了做習(xí)題而做習(xí)題。
這就是學(xué)校數(shù)學(xué)和真實數(shù)學(xué)之間的區(qū)別。
下面用一張圖來總結(jié)一下這種區(qū)別。
下面的練習(xí)展示了教科書中的典型數(shù)學(xué)問題,它要求學(xué)生定義函數(shù) f(x),并就大量的 x 對它求值。

(圖3 教授函數(shù)的傳統(tǒng)方式)
后面還有 18 個同樣形式的問題!這種習(xí)題對 Python 這樣的編程語言來說是小菜一碟。我們只要定義函數(shù) f(x),然后反復(fù)從 x 值的列表中取出一個值代入即可:
return math.sqrt(x+3)-x+1
for x in [0,1,math.sqrt(2),math.sqrt(2)-1]:
print("f({:.3f})={:.3f}".format(x,f(x)))
最后一行是為了讓輸出更好看,將答案保留至三位小數(shù):
f(0.414)=2.434
在 Python、JavaScript 和 Java 等語言中,函數(shù)是轉(zhuǎn)換數(shù)和其他對象(甚至其他函數(shù))的重要工具!你可以給 Python 里的函數(shù)命名,讓人更容易明白它是做什么的。舉個例子,可以將一個計算矩形面積的函數(shù)命名為calculateArea():
def calculateArea(width,height):
再來看個例子,數(shù)學(xué)中無比華麗的一個圖形。
伯努瓦·芒德布羅(Benoit Mandelbrot)在為 IBM 工作期間首次在計算機上生成了以他命名的著名分形。數(shù)十年后,一本于 21 世紀出版的數(shù)學(xué)教科書展示了一張芒德布羅集的圖像,并對這一發(fā)現(xiàn)大加贊揚。那本書將圖4 所示的芒德布羅集描述為“一個從復(fù)數(shù)中衍生出的迷人的數(shù)學(xué)對象,它的邊界混亂而又美麗”。

接著,那本教科書帶領(lǐng)讀者進行了一次痛苦的“探索”,教學(xué)生如何變換復(fù)數(shù)平面內(nèi)的一個點。糟糕的是,它只教了如何用計算器變換。這意味著在相當長的時間內(nèi)只能變換兩個點(每個點的變換一般包含 7 次迭代計算)。對,只有兩個點。
那么如何用 Python 程序自動變換幾十萬個點,甚至畫出上面的芒德布羅集圖像呢?
在今天為大家介紹的這本書里你一定能找到答案!
作者:[美]彼得·法雷爾(Peter Farrell)
不論你是學(xué)生,還是老師,不論你是編程新手,還是數(shù)學(xué)愛好者,都可以通過本書體會編程與數(shù)學(xué)的魔法!
接下來,我們來隆重介紹一下這本書的特別之處。通過 Python,你見識到的是一個全新的數(shù)學(xué)世界!
Python + 數(shù)學(xué)——全新的世界
1. 用 Python 體驗“全新”的數(shù)學(xué)
不為解題,不記公式,徹底擺脫枯燥——純粹好玩,自由發(fā)揮想象,自己動手制作趣味數(shù)學(xué)
2. 用 Python 讓數(shù)學(xué)活起來
看得見動起來充滿立體感的“活”數(shù)學(xué),像魔法一樣解決常見數(shù)學(xué)問題
3. 涵蓋中學(xué)數(shù)學(xué)重要主題,如代數(shù)學(xué)、幾何學(xué)、三角學(xué)和微積分
4. 各種讓人欲罷不能的案例,編程與數(shù)學(xué)強強聯(lián)合
書以趣味探險路線展示案例,讓你真正領(lǐng)略數(shù)學(xué)的實用性與編程的趣味性
5. Python 3 案例,充分展示 Python 特色與 Python 可視化的強大

本書向讀者展示如何利用編程來讓數(shù)學(xué)學(xué)習(xí)變得有意義并且充滿樂趣。讀者在探索代數(shù)學(xué)、幾何學(xué)、三角學(xué)、矩陣和元胞自動機等領(lǐng)域的關(guān)鍵數(shù)學(xué)概念時,將學(xué)會在 Python 語言的幫助下使用代碼可視化一系列數(shù)學(xué)問題的解決方案。讀完本書,讀者還可以編寫自己的程序來快速解方程,自動完成一些煩瑣的任務(wù),以及編寫函數(shù)來繪制和操作形狀,等等。下面是探險路線圖。

作譯者都是行家里手
數(shù)學(xué)和計算機科學(xué)教師,熱衷于“定制”數(shù)學(xué)和技術(shù)教學(xué)。他開設(shè)了一門名為 Hacking Math 的課程,利用編程技術(shù)讓學(xué)生見識“活生生”的數(shù)學(xué),廣受歡迎。本書是他近十年教學(xué)實踐的結(jié)晶,手把手帶你讓數(shù)學(xué)“活”起來,真正體會數(shù)學(xué)之美。
本科就讀于英國格拉斯哥大學(xué),研究生即將入讀中科院計算所。對于數(shù)學(xué)與編程的交叉領(lǐng)域興趣濃厚,畢業(yè)設(shè)計項目:Coding a Modesolver in Python(實現(xiàn)了一個解電磁微分方程的程序)。
數(shù)學(xué)大佬和普通讀者都喜歡
“在當今時代,學(xué)習(xí) Python 與掌握數(shù)學(xué)分析技能同樣重要。因此,本書對于學(xué)生和老師而言都必不可少?!?/span>
——Gabrielle Birkman,數(shù)學(xué)家、作家
“彼得·法雷爾顛覆了傳統(tǒng)數(shù)學(xué)教科書的結(jié)構(gòu),采取以‘讓學(xué)生創(chuàng)造和發(fā)現(xiàn)’為中心的方法,引導(dǎo)學(xué)生走上了一條數(shù)學(xué)的發(fā)現(xiàn)之路?!?/span>
——Tien Chih博士,美國蒙大拿州立大學(xué)比林斯分校數(shù)學(xué)教授
“如果你是想學(xué)習(xí)計算機編程的數(shù)學(xué)高手或者是想看代碼和數(shù)學(xué)能擦出何種火花的計算機高手,那么本書再適合你閱讀不過了?!?/span>
——Jenny Bristol,GeekDad
“對于學(xué)習(xí) Python 和數(shù)學(xué)而言都是一本難得的好書,強烈推薦!”
“如果你也像我一樣喜歡 Python 及可視化,這可真是一本珍寶級圖書。書中的數(shù)學(xué)題案例相當有趣,我在上面磕了不少時間?!?/span>
“任何年齡的學(xué)生都能通過本書快速上手 Python,當然,它也會帶你踏上探索數(shù)學(xué)的奇妙之旅!”
更多好評

還有精美探險書簽相贈
編程思維與數(shù)學(xué)思維強強聯(lián)合
開啟數(shù)學(xué)與 Python 的奇幻之旅
或者掃一掃下方的二維碼回復(fù):送書 即可!
回復(fù):加群 可加入Python技術(shù)交流群