學Python編程為什麼會對學好數學有幫助呢?

2021-01-11 米粒教育

Python編程和數學有什麼關係呢?Python的起源是怎樣的呢?

我們先來簡單認識一下Python,和Python交個朋友。

Python的全拼是P—Y—T—H—O—N,發音是Python,漢語解釋是蟒蛇的意思。

我們再來看Python的圖標,下圖Python的圖標,Python的圖標看上去也是蛇。

同學們可能會感到比較奇怪,Python是一門程式語言,程式語言和蟒蛇有什麼關係呢?

把程式語言和蟒蛇聯繫起來的是荷蘭人吉多·范羅蘇姆,英文讀音是Guido van Rossum,他是一名電腦程式員。

在1989年的聖誕期間,吉多休假在家,吉多不是一個可以閒得住的人。他一直在考慮如何對ABC語言進行改進,ABC語言是由荷蘭數學與計算機科學國家研究所研製的程式語言,它主要用於編程教學使用,吉多想對ABC語言進行改進,改進的語言不但能用於教學,而且可以用於應用開發。

於是他在1989年開始編寫Python語言。到1991年第一個Python解釋器誕生,吉多整整用了兩年左右的時間研發Python語言。

對外發布新的程式語言,需要給程式語言起個名稱,當時吉多迷上了英國肥皂劇《Monty Python飛行馬戲團》,他就從這個肥皂劇的名稱中選擇了Python。Monty Python是英國六人喜劇團體,他們製作的肥皂劇在七、八十年代特別受歡迎,吸引了眾多的粉絲,吉多就是其中的粉絲之一。因此,新的程式語言被吉多命名為Python,也就不足為怪了。

下圖是Monty Python飛行馬戲團的海報。

前面我們知道了Python的創始人是荷蘭人吉多·范羅蘇姆,Python語言是在ABC語言的基礎上創建的新的程式語言,由此可見Python語言本身就與數學密切相關。

我們再來看一看編程與數學的關係。

1、數值計算與編程

同學們現在接觸最多的數學知識就是四則運算,四則運算也稱為數值計算,不過同學們現在接觸的都是簡單的數值計算,很容易利用筆算或口算來完成數值計算。

複雜的數值計算包括解多元方程組、積分、微分等運算,這些複雜的數值計算,同學們在高中和大學才能接觸到。這類複雜計算有時依靠人的腦力很難計算,需要藉助於計算機並編寫計算程序才能完成,一些運算量比較大的簡單四則運算也需要藉助程序來完成運算。

下面我們來看一個隨著n的增大,運算量越來越大的四則運算。

現在我們做個簡單的乘法運算,我們先從2開始:

先做2X1運算,運算的值是2;

再做3X2X1運算,運算的值是6;

繼續做4X3X2X1運算,運算的值是24;

再做5X4X3X2X1運算,運算的值是120;

一直到nX(n-1)X(n-2)X3X2X1的運算,這裡的n是指自然數1、2、3、4、5、6、……

類似上面的運算也稱為階乘運算,階乘運算是所有小於及等於該數的自然數的積。例如自然數6的階乘運算是:

6 X 5 X 4 X 3 X 2 X 1 = 720

當n的值超過20時,依靠人力運算已經很困難了,這時就需要藉助電腦程式來完成運算了。

下面的Python代碼用於求階乘運算,factorial(n)是求階乘運算的函數,n是要求階乘的自然數, n是指自然數1、2、3、4、5、6、……。

同學們可以先不用理解這段代碼及factorial(n)函數,在後面的課程我們會詳細講述,在這裡主要是理解用編程來實現數值計算的意義。

def factorial(n):fac = 1 for i in range(1,n + 1): fac = fac*i return fac

下圖是在Python Shell窗口編寫的factorial(n)函數代碼,並利用factorial(n)函數分別計算了自然數6、10、20、100的階乘。從計算結果可以看出,20的階乘計算結果已經是天文數了,100的階乘結果有上百位數,是一個非常大、非常大的數了。可見,複雜的數值計算或運算量很大的數值計算都需要通過編寫電腦程式來完成計算。

2、數學模型與編程

同學們有沒有想過,我們為什麼要學習數學,學習數學的目的是什麼呢?

學習數學僅僅是為了認識數字,會寫會算嗎?我相信大多數同學不會贊同我的回答。我們學習數學不只是要認識數字,會寫會算,還要能通過學過的數學知識解決現實中存在的問題,將現實生活中的問題轉化為數學問題並予以解決。

這就要求對現實生活中的問題進行數學建模,並驗證模型的正確性。數學模型的實現與驗證一般都是通過計算機編程來實現。

一個完整的數學建模過程主要有三部分組成:

1、用適當的方法對實際問題進行描述;

2、採用各種數學和計算機手段求解模型;

3、驗證模型運行的正確性。

同學們來看一個簡單的數學建模案例。

問題描述:給出任意一個年份,如2019年、2016年等,判斷出該年份是否是閏年?

要解決這個問題,首先要找出年份與閏年的規律,即年份與閏年有什麼規律可遵循,然後將規律轉換為數學模型。規律已經被總結出來:一是年份可以被400整除的是閏年;二是年份被4整除但不能被100整除的是閏年。這就建立了數學模型,也就是求解模型。

有了數學模型,我們就可以利用數學模型來求解問題,也就是驗證模型的正確性。

例如,我們來判斷2016年是否是閏年,根據判斷閏年的數學模型,首先判斷2016是否能被400整除,2016不能被400整除。再判斷2016是否能被4整除,並且不能被100整除,我們發現2016既能被400整除,並且不能被100整除,因此2016是閏年。

如果每次都需要人工運算,就比較麻煩了,可以通過編寫程序來求解模型。

下面就是根據判斷閏年的數學模型編寫的Python代碼,同學們現在暫時可以先不用理解代這段代碼。

def leapyear(year):if year % 400 == 0: return "閏年" elif year % 4 == 0 and year % 100 !=0: return "閏年" return "不是閏年"

下圖是在Python Shell窗口編寫的leap(year)函數代碼,並利用leap(year)函數分別判斷2016年、2018年、2019年、2000年是否是閏年。

3、數學實驗與編程

用編程可以求解數學模型,解決現實問題。同學們也可以通過編程建立數學實驗,幫助同學們提高抽象思維和空間想像能力。

抽象能力和空間想像能力對學好數學非常重要,尤其對小學的同學們來說,是培養抽象能力和空間想像非常重要的階段。

要提高抽象能力和空間想像能力,數學實驗是很重要的方法。

例如:在我們不識數的時候,爸爸媽媽會讓我們數指頭,數蘋果、數人數等等,這就是數學實驗。通過數數我們逐漸理解了1、2、3、4、5、6等數字的概念,數字是個抽象的概念。說它抽象,是因為數字是看不見、摸不著的,雖然可以把數字的符號寫在紙上,但這個數字符號並沒有和我們所熟知的自然界的事物聯繫起來。

通過數數這個數學實驗,同學們就會把數字符號和對應的幾個蘋果、幾個手指、幾個人等聯繫起來,也就自然理解了數字的概念。

現在不少初中要學的數學知識,已經提前滲透在了小學各個年級。例如:各類平面圖形的認識、各類立體圖形的認識、四邊形的周長計算、旋轉平移等,也會在這個階段出現,這些數學知識都需要具備抽象思維和空間想像能力才能學好。

但在一些同學頭腦當中,還根本沒有建立起抽象思維和空間想像能力,這對於打好數學基礎,進而在初中乃至高中學好數學,是十分不利的。

在這種情況下,數學實驗就非常重要了。這是就需要藉助計算機編程建立數學實驗室,用圖形、簡單動畫、計算過程步驟的展現來理解前面所說的數學知識。

給同學們看一個簡單的物體平移的動畫例子,來理解數學實驗對學好數學的重要性。

笑臉當前在A點,現在讓笑臉由A點移動到B點。通過動畫,同學們很容易理解圖形平移的概念。

這種圖形的平移動畫就是圖形平移的數學實驗。

同學們學會編程後,可以通過編程實現這樣的動畫,編寫類似的數學實驗。

編程是學好數學的重要工具

同學們,編程是學好數學的一個非常重要的工具。

通過編程可以提高人的邏輯思維和抽象思維,而邏輯思維和抽象思維是學好數學的前提。

同學們在學習數學的過程中,可以通過學到的編程知識,來求解和驗證數學模型,也可以構建數學實驗,將抽象的數學知識通過動畫、圖形展現出來,在感知和抽象中架起一座橋梁,用於更好地理解數學概念。

相關焦點

  • 學數學到底有什麼用?為什麼要學好數學
    學數學有什麼用?儘管學的不算好,但是學了這麼多年的數學,竟然搞不清楚學習數學有什麼用處?數學之於自己,只不過是一個吃飯的工具,靠著數學賴以為生,混口飯吃。好好想想,學數學到底有什麼用處?但是,這樣的回答到底多大程度上讓孩子,讓別人相信呢?問問自己有多大程相信嗎?估計自己都不那麼相信。因為我們看到更多的是當年的數學成績就不好他們,到現在還不是活的不錯。所以,目前社會上出現了一種聲音,數學搞得那麼難有什麼用呢?對於普通人而已,將來又不從事數學研究,只不過是會一點加減乘除,買買菜算算帳就可以了,小學一年級的數學知識足矣。
  • Python能幹什麼?為什麼會這麼火
    Python是一門非常不錯的程式語言,也是目前非常具有發展前景的學科,可以從事的工作崗位有很多,薪資待遇也很高,成為了大家進入IT行業的首要選擇。那麼Python能幹什麼?為什麼會這麼火?那麼Python能幹什麼呢?
  • 普通人學Python有意義嗎?學Python有前途嗎?-開課吧Python
    Pythonpython憑藉著第三方庫數量的龐大,其幾乎可以說是萬能的,對於普通人來說,數據表格excel基本上都有需要製作,而有一些編程基礎的,就可以使用庫openpyxl來實現excel表格的自動處理和生成,同時除了excel之外,針對word,ppt等python都有對應的庫。
  • 人生苦短,我用Python,那麼問題來了,普通人要學python嗎?
    4、現在國外國內很多家長已經給孩子報名學習Python編程課程了。在美國,就連嬰幼兒也有專門的編程童書。話說在金融和IT行當混跡了多年,python一直是被我隨手拿來當個小工具用用,有時候偷懶用python弄個excel自動化整理工具,有時候拿來上各種網站爬蟲搜集點信息,有時候也會拿來寫點量化小工具。那麼到底什麼是python?
  • 學少兒編程 明星應採兒推薦極客晨星
    隨著智能化的普及,「少兒編程」已經成為了家長們談論的火熱話題。「你家孩子學少兒編程了嗎?」「你家孩子從幾歲開始學的少兒編程?」「我正考慮要給我家孩子報名,5歲可以學嗎?會不會太早?」「你家孩子在哪裡學的少兒編程?」......家長們為什麼這麼著急要給孩子報名少兒編程呢?
  • Python為什麼這麼火?小孩子適合學習python編程嗎?
    「人生苦短,我選Python」——魯迅程式語言由於學習門檻比較高,一直以來似乎只有程式設計師之間會互相討論,普通人也很難對冰冷的語法和算法什麼的感興趣。但自從Python出現後,程式語言和我們日常生活中的鴻溝被悄悄打破了,越來越多的人開始使用它,甚至開始愛上它。
  • 編程界新晉「網紅」Python到底是什麼?學Python真的有用嗎?
    可能很多人會覺得奇怪,Python到底是什麼啊?怎麼好像一夜之間網上到處都在吹捧Python有多神奇的樣子···我的理解簡單一點來說,Python是一門程式語言,能夠幫助我們更好地與計算機「溝通」,提高工作效率。當然,Python的實際應用價值遠不止這些的哦!
  • python是什麼,python能幹什麼,為什麼大家都學pyhon一起來看看吧
    相信大家如果經常上網,就會看到各種學python的教程,那麼python究竟是什麼意思,學會了可以用來幹什麼那,我們一起來看一下吧。首先大家要明白python是一種跨平臺的程式語言,python編程的特點易讀、易維護,所以被大量的用戶所歡迎,python最大的特點是開發速度快,因為編程開發效率一直很低,python有很多第三方庫,所以開發起來事半功倍,很流行的一句話,人生苦短,我學python,可謂是把python特點完整的詮釋出來。
  • 開課吧:學習編程,該學什麼語言?Python如何?
    現在很多朋友覺得IT行業的工作人員薪資高,福利好,也想加入到網際網路行業,但不知道該學什麼語言比較好,以下是小編的想法,希望對你有所幫助。編程編程如果是興趣方面的可以選擇比較簡單的入門語言入手,然後再慢慢切入到新的程式語言,目前相對來說比較好入門的程式語言是
  • 相比於Java,python到底有哪些優勢?
    談到編程,首先不可避免的是程式語言。由於在AI的帶動下python更是異軍突起,撼動了許多老大哥的地位。可唯獨java穩如泰山,不可動搖!自然而然的就會出現python與Java的討論聲。本文的目的在於討論python和java相比到底有哪些優勢,至於缺點暫且不提!
  • 李大潛院士:今天我們為什麼要學數學?怎麼學好數學?
    中學數學的教學質量,中學數學的教學改革,關係到青少年學生的知識、能力和素質的培養,關係到一代又一代接班人的成長和前途,無疑是百年大計。學生對數學的印象如何呢?有很多學生特別喜歡數學,但也有不少人覺得數學很難,從而望而生畏,甚至避之唯恐不及,這不是我們希望看到的。
  • Python已是曇花一現,但你卻還在堅持嗎?看看他們的理由
    Python已是曇花一現,你為什麼還在堅持呢?Python,是一門最適合人工智慧的程式語言,並且,這門語言十分適合新手學習,正因為如此,讓發展了近三十年的python,在最近幾年火爆全網。可為什麼說python已是曇花一現呢?因為有人找不到工作。
  • Python編程常見問題與解答
    答:一般來說,Python代碼的運行速度比C語言的慢很多,但是如果充分運用內置函數、標準庫對象和函數式編程模式的話,運行速度會提高很多,可以接近C語言。2.問:學習Python編程,用哪個開發環境更好一些呢?答:目前來看,Anaconda3和PyCharm用的相對來說多一些。
  • |python|電氣和電子工程師協會|編程...
    隨著無人超市、美團無人配送車的出現,我們也嚴重意識到了一個問題:人工智慧的出現,肯定是會替代掉一些工作,這是無可避免的。這個時候,我們就需要多元化學習,多掌握一項核心技能。就像外出的時候,車上會多準備一個備用車輪,否則車在途中「爆胎」,我們被會打得措手不及!這也就是為什麼,近年來學Python的人越來越多。
  • 2020年最流行的十個Python庫(上)
    Python是最著名的程式語言之一,由於它最簡單的語法結構而受到開發人員的青睞,更隨著近年來它在人工智慧和機器學習領域中正變得越來越重要。Python之所以強大,還因為它擁有大量的庫,這使得python滲透於任何類型的開發,藉助python可以進行網絡開發,腳本編寫,遊戲開發,數據科學等工作。
  • 為什麼物理數學這麼難學,怎樣才能學好?
    1、基礎沒有打好,高中數學內容非常多,而且關聯性也非常大,在加上高中階段教學進度非常快,這讓很多學生趕不上老師的節奏,跟不上老師的步伐,本來聽起來就比較費勁,再加上基礎薄弱,學起來就顯得更加吃力了,每天繁重的學習壓力都放在了學習和寫作業上,對於數學遺漏的知識點也是越積越多,最後導致數學越來越難學。
  • 李大潛院士:為什麼學數學?因為它能幫助我們認識和改造世界
    【編者按】被奧數折磨得快「發瘋」的家長和孩子們如今比比皆是,那麼學習數學究竟是為了什麼?復旦大學李大潛院士在復旦大學數學科學學院2016級新生迎新大會上的講話最近在朋友圈被熱傳,讓我們來聽聽大師的解析,也許對於學生究竟為什麼學數學有不一樣的感受。
  • 如何學好數學
    要學好數學這門課必須領悟以下幾點:1、要領悟數學「黃金圈思維」。具體來說,一共有三個問題值得我們去深思:第一個問題:為什麼要學數學?第二個問題:怎樣學數學?計算,端正態度佔比35%,積極主動佔比10%,認真聽課佔比30%,學會思考佔比15%,學會提問佔比10%,這五項決定了學好數學的關鍵因素,也是最重要的因素。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    python教程大合集,包含python所有就業方向,每套課程均來自市面上主流培訓機構的原版教程,價值都在數百元以上 每套課程均包含:視頻課程+課件+原始碼 重要:建議根據自己工作方向和需求,重點選擇2到3套課程學精,吃透,然後在工作 重要:零基礎小白建議先選擇零基礎全能篇的一套課程學精,然後再根據自 己的需求和規劃選擇學習其他方向課程,學完後一定要多實踐
  • 少兒編程容易學嗎?兒童編程學什麼的有什麼用處嗎?有3大好處
    少兒編程非常容易學嗎? 孩子學習少兒編程,起初是從手機遊戲控制模塊拖動的程序編寫剛開始學起,讓孩子漸漸地的會學好開發語言,進而再深層次到程序設計語言,讓孩子可以對軟體編程把握得更為嫻熟熟練。