bvp解算器是什么_那些学习了编程的中学生,为什么会更可能成功?
來源 | 異步
當你看到這個題目,或許會想,這不是搞笑嗎?眾所周知,高等數(shù)學是編程的基礎(chǔ)和前提,而說起程序編寫員,在普通人眼里就是數(shù)學學霸的代名詞,人們往往會把它和那些數(shù)學天才的名字聯(lián)系在一起,比如阿蘭·圖靈、馮諾依曼。
只會中學數(shù)學知識,連高數(shù)門檻都達不到,何談學習編程呢?
那么事實果真這么殘酷嗎?我們先來看一道簡單的題目:
列出一個十位數(shù)比個位數(shù)小1的兩位數(shù)。
用常規(guī)方法來寫答案非常簡單,如何用python把它表達出來呢,代碼如下:
For?tensplacein?range(1,10):tensplace=onesplace-1????ifonesplace<10:????????tensdigit=tensplace*10+onesplaceprint(tensdigit)else:break在Python語言中,讀寫規(guī)范和英語語法十分接近,所以我們可以很顯然地知道:
range表示范圍,
十位數(shù)的數(shù)字只能取1-10以下的數(shù)字,
兩位數(shù)的數(shù)值=十位數(shù)數(shù)字*10+個位數(shù)數(shù)字
輸出結(jié)果:12、23、34、45……
是不是覺得Python入門其實并沒有想象中那么困難呢?你或許聽大多數(shù)人講過數(shù)學不好不要學習Python,但事實上如果你不是進行算法類的編程,先從應(yīng)用類編程開始,有初高中的數(shù)學知識就足夠了。
我們必須承認高等數(shù)學是編程的基礎(chǔ),那些數(shù)學隨手就能考滿分的大神,確實有更大概率成為優(yōu)秀程序員。
但由于Python簡單明確的設(shè)計特點,即使你只有高中數(shù)學知識,也能通過一步步的學習體會到Python編程的樂趣,甚至利用Python解決數(shù)學問題,提高數(shù)學水平。
同時,數(shù)學和編程都十分需要邏輯能力和抽象思維,以數(shù)學作為銜接,可以引導青少年逐漸接觸并學習Python等計算機語言,通過學習編程,也可以鍛煉青少年的數(shù)學能力。所以我們常常會見到會編程的孩子,數(shù)學往往也很厲害。
目前很多學校都已經(jīng)在踐行這樣的想法,美國大學最近幾年出版的數(shù)學教材,都會有結(jié)合數(shù)學軟件(MATLAB等CAS)來學習的指導說明,也就是說CAS以及編程已經(jīng)是大學數(shù)學學習的一部分了。
而部分高中也開始把編程與方程,幾何和概率統(tǒng)計等數(shù)學知識相結(jié)合。
下面我們就來一起看一道經(jīng)典案例:
我們初中時代都做過的思考題,雞兔同籠問題:
一籠雞和兔子,我們數(shù)了一下,雞和兔子的頭一共有35個,但是雞和兔子的腳一共有94只。請問雞和兔的數(shù)量分別是多少。
如何用python來解決呢?
根據(jù)題意,頭的總數(shù)為35,我們用變量head來記錄頭的總數(shù);
腿的總數(shù)為94,我們用變量foot來記錄腿的總數(shù);
我們用變量x記錄雞的數(shù)量。因為頭的總數(shù)為35,說明雞和兔共有35只,所以雞的數(shù)量是0-35之間的某一個數(shù),這里我們用for循環(huán)來指揮計算機,自動羅列所有可能出現(xiàn)的情況;
然后,我們用變量y記錄兔子的數(shù)量。因為雞和兔的總數(shù)等于頭的數(shù)量,所以兔的數(shù)量rabbit等于頭的總數(shù)head減去雞的數(shù)量;
雞有兩條腿,兔子有四條腿,所以腿的總數(shù)為2x+4y。
由于雞兔總數(shù)是確定的,腳的總數(shù)也已知,那么方程的代碼表示如下:
head=35foot=94for?x?in?range?(0,hend+1)?????y=head-x?????if?x*2+y*4=foot?????????print(‘雞’x,‘兔’y)把我們已知數(shù)輸入,輸出結(jié)果為雞23,兔12。
是不是和自己列草稿算的一模一樣呢?
所以,懂得編程的學生都會自然地使用編程來學習數(shù)學,不僅能鍛煉能力,也在不知不覺中提升了邏輯和抽象思維,這恰恰也是《Python數(shù)學編程》這本書的編寫初衷。
Python與數(shù)學結(jié)合的藝術(shù):《Python數(shù)學編程》
「鏈接」
這是一本有趣有趣、生動、實用,高中生也能看得懂的Python編程書,也是美國亞馬遜青少年學計算機編程暢銷書!通過編程來探究代數(shù)、統(tǒng)計、幾何、概率、微積分等數(shù)學主題。
將程序設(shè)計和數(shù)學巧妙地結(jié)合起來,從簡單的項目開始,應(yīng)用Python解決高中和大學低年級的數(shù)學問題,比如幾何、概率、統(tǒng)計以及微積分等,為進一步學習更復雜的數(shù)學內(nèi)容以及Python編程語言打下堅實的基礎(chǔ)。
本書也可作為Python初學者的入門讀物,通過學習書中的示例程序和完成那些編程挑戰(zhàn),讀者可以提高自己的編程能力和技巧。
內(nèi)容詳實,易學易用
1.用統(tǒng)計方法描述數(shù)據(jù),用線圖、條形圖和散點圖可視化數(shù)據(jù)
2.用程序探究擲硬幣、擲骰子和其他概率游戲中的集合理論和概率問題
3·用Python的符號數(shù)學功能解決代數(shù)問題
4·繪制幾何圖形,探索分形,如Barnsley蕨類植物、Sierpiński三角以及Mandelbrot集
5·寫程序求解導數(shù)與積分
應(yīng)用Python探究高中和大學低年級的數(shù)學主題:
比如代數(shù)、統(tǒng)計、幾何、概率以及微積分。你會從簡單的項目學起,比如因式分解、二次方程求解,當你掌握了這些基礎(chǔ)的知識后,就可以處理更復雜的項目了。
有創(chuàng)意的編程挑戰(zhàn)以及應(yīng)用實例:
可以幫助你把新學到的數(shù)學和編程技巧用于實踐。你可以嘗試解決各種有趣的問題,比如不等式求解、洗牌、畫出子彈飛行過程中重力的影響、探究斐波那契數(shù)列與黃金分割之間的聯(lián)系、利用向板子上投擲100000次“飛鏢”來估計圓的面積等。
專業(yè)點評,權(quán)威推薦
“這是一本很棒的書,真希望早先我自己在學習的時候就能遇到這本書,它可以更好地鞏固我所學的數(shù)學知識。我正在努力地將這本書的各個方面融入我的課堂中,因為我和我的學生們都非常喜歡這本書。如果你還在猶豫是否應(yīng)該買這本書,強烈建議你購買。”
—— 高中教師Neal Whitlock
“作者非常出色地將Python與高年級的數(shù)學概念清晰地聯(lián)系了起來,并演示了如何將數(shù)學問題的求解轉(zhuǎn)化為Python程序。這本書應(yīng)該在每個幾何老師的書架上占有一席之地?!?/p>
—— 校園圖書館期刊(School LibraryJournal)
“這是一本很棒的書,真希望早先我自己在學習的時候就能遇到這本書,它可以更好地鞏固我所學的數(shù)學知識。我正在努力地將這本書的各個方面融入我的課堂中,因為我和我的學生們都非常喜歡這本書。如果你還在猶豫是否應(yīng)該買這本書,強烈建議你購買。”
—— 高中教師Neal Whitlock
適用人群
本書適合廣大的青少年、年輕人學習編程和利用編程學數(shù)學。
無論你是對數(shù)學還是對編程感興趣,本書都會帶給你不一樣的體驗。如果你是一位老師,希望教學生編程,你會發(fā)現(xiàn)Python讓編程變得更容易。如果你是一位學生,當你致力于解決數(shù)學問題時,讓Python來幫助你處理那些煩瑣的計算工作吧!
目錄一覽,盡在掌握
第1章 處理數(shù)字 11.1 基本數(shù)學運算 11.2 標簽:給數(shù)字命名 31.3 不同類型的數(shù)字 41.3.1 分數(shù)的操作 41.3.2 復數(shù) 51.4 獲取用戶輸入 61.4.1 處理異常和無效輸入 81.4.2 將分數(shù)和復數(shù)作為輸入 91.5 編寫一個數(shù)學計算程序 101.5.1 計算整數(shù)因子 101.5.2 生成乘法表 121.5.3 轉(zhuǎn)換測量單位 141.5.4 求二次方程的根 161.6 本章內(nèi)容小結(jié) 181.7 編程挑戰(zhàn) 19#1:偶數(shù)奇數(shù)自動售貨機 19#2:增強型乘法表生成器 19#3:增強型單位轉(zhuǎn)換器 19#4:分數(shù)計算器 19#5:為用戶設(shè)置退出選項 20第2章 數(shù)據(jù)可視化 232.1 了解笛卡兒坐標平面 232.2 使用列表和元組 242.3 用matplotlib繪圖 262.3.1 圖上的標記 282.3.2 繪制紐約市的年平均氣溫 292.3.3 比較紐約市的月平均氣溫 312.3.4 自定義圖形 342.3.5 保存圖形 372.4 用公式繪圖 372.4.1 牛頓萬有引力定律 382.4.2 拋物運動 392.5 本章內(nèi)容小結(jié) 442.6 編程挑戰(zhàn) 44#1:溫度如何變化 45#2:探索二次函數(shù)的可視化 45#3:增強型拋物軌跡比較程序 46#4:可視化你的支出 46#5:探索斐波那契序列與黃金比例 48第3章 數(shù)據(jù)的統(tǒng)計學特征 503.1 計算均值 503.2 計算中位數(shù) 523.3 計算眾數(shù)并創(chuàng)建頻數(shù)表 543.3.1 尋找最常見的元素 543.3.2 計算眾數(shù) 553.3.3 創(chuàng)建頻數(shù)表 573.4 測量離散度 593.4.1 計算一組數(shù)字的極差 593.4.2 計算方差和標準差 603.5 計算兩個數(shù)據(jù)集之間的相關(guān)性 623.5.1 計算相關(guān)系數(shù) 633.5.2 高中成績和大學入學考試成績 643.6 散點圖 673.7 從文件中讀取數(shù)據(jù) 683.7.1 從文本文件中讀取數(shù)據(jù) 693.7.2 從CSV文件中讀取數(shù)據(jù) 703.8 本章內(nèi)容小結(jié) 733.9 編程挑戰(zhàn) 73#1:更好的相關(guān)系數(shù)計算程序 73#2:統(tǒng)計計算器 73#3:用其他CSV數(shù)據(jù)做實驗 73#4:計算百分位數(shù) 74#5:創(chuàng)建分組頻數(shù)表 74第4章 用SymPy包解代數(shù)和符號數(shù)學問題 764.1 定義符號和符號運算 764.2 使用表達式 784.2.1 分解和展開表達式 784.2.2 使表達式整齊輸出 794.2.3 輸出級數(shù) 804.2.4 用值替代符號 814.2.5 將字符串轉(zhuǎn)換為數(shù)學表達式 844.2.6 表達式乘法 854.3 解方程 864.3.1 解二次方程 864.3.2 用其他變量求解一個變量 874.3.3 解線性方程組 884.4 用SymPy包繪圖 884.4.1 繪制用戶輸入的表達式 914.4.2 多函數(shù)圖形繪制 924.5 本章內(nèi)容小結(jié) 944.6 編程挑戰(zhàn) 94#1:尋找因子 94#2:圖形方程求解器 94#3:級數(shù)求和 94#4:解單變量不等式 95第5章 集合與概率 985.1 什么是集合?985.1.1 構(gòu)建集合 995.1.2 子集、超集與冪集 1005.1.3 集合運算 1025.2 概率 1065.2.1 事件A或事件B發(fā)生的概率 1085.2.2 事件A與事件B同時發(fā)生的概率 1095.2.3 生成隨機數(shù) 1095.2.4 非均勻隨機數(shù) 1125.3 本章內(nèi)容小結(jié) 1145.4 編程挑戰(zhàn) 114#1:使用文氏圖來可視化集合之間的關(guān)系 114#2:大數(shù)定律 117#3:擲多少次硬幣會輸光你的錢?117#4:洗牌 118#5:估計一個圓的面積 118第6章 繪制幾何圖形和分形 1206.1 使用matplotlib的patches繪制幾何圖形 1206.1.1 繪制一個圓 1226.1.2 創(chuàng)建動畫圖形 1236.1.3 拋物軌跡動畫演示 1256.2 繪制分形 1276.2.1 平面上點的變換 1276.2.2 繪制Barnsley蕨類植物 1316.3 本章內(nèi)容小結(jié) 1346.4 編程挑戰(zhàn) 134#1:在正方形中填充圓形 134#2:繪制Sierpiński三角 136#3:探索Hénon函數(shù) 137#4:繪制Mandelbrot集 138第7章 解微積分問題 1427.1 什么是函數(shù)?1427.1.1 函數(shù)的定義域和值域 1437.1.2 常用數(shù)學函數(shù)概述 1437.2 SymPy中的假設(shè) 1447.3 計算函數(shù)極限 1457.3.1 連續(xù)復利 1477.3.2 瞬時變化率 1477.4 函數(shù)求導 1487.4.1 求導計算器 1497.4.2 求偏導數(shù) 1507.5 高階導數(shù)和最大最小值點 1507.6 用梯度上升法求全局最大值 1537.6.1 梯度上升法的通用程序 1567.6.2 關(guān)于初始值的附加說明 1577.6.3 步長和epsilon的角色 1587.7 求函數(shù)積分 1607.8 概率密度函數(shù) 1627.9 本章內(nèi)容小結(jié) 1647.10 編程挑戰(zhàn) 164#1:證明函數(shù)在一點處的連續(xù)性 165#2:梯度下降法的實現(xiàn) 165#3:兩條曲線圍成的面積 165#4:計算曲線的長度 166后 記 168下一步可以探索的事情 168歐拉項目 168Python文檔 168參考書 169獲取幫助 169附錄A 軟件安裝 170A.1 Microsoft Windows 171升級SymPy 172安裝matplotlib-venn 172啟動Python Shell 172A.2 Linux 172升級SymPy 173安裝matplotlib-venn 173啟動Python Shell 173A.3 Mac OS X 173升級SymPy 176安裝matplotlib-venn 176啟動Python Shell 176附錄B Python主題概覽 177B.1 if __name__ == '__main__' 177B.2 列表推導(List Comprehensions) 178B.3 字典數(shù)據(jù)結(jié)構(gòu) 180B.4 多個返回值(Multiple Return Values) 181B.5 異常處理(Exception Handling) 183指定多個異常類型 183else代碼塊 184B.6 在Python中讀取文件 185一次性讀取所有行 186指定一個文件名作為輸入 186讀取文件時錯誤的處理 186B.7 代碼重用 189- END -
總結(jié)
以上是生活随笔為你收集整理的bvp解算器是什么_那些学习了编程的中学生,为什么会更可能成功?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。