官术网_书友最值得收藏!

2.5 程序里的數學運算

我們可以使用Python 編程來解決很多數學問題,現在中小學課本里的大部分數學問題幾乎都可以通過Python 編程來解決。下面學習一些基本的運算。

算術運算在編程中就是常見的加減乘除和乘方,見表2-2。

表2-2

img

關于表2-2 中的內容,需要注意以下幾點:

· 除法分為完整除法和整數除法兩種,完整除法得到的商是一個浮點數,整數除法得到的商是一個整數。

· 乘法運算符號**表示“多少次方”。

· 符號%表示取余數,也叫模數,即被除數除以除數,商只能是整數的情況下得到的余數,它在編程中有很多巧妙的應用。

如果需要計算平方根和三角函數怎么辦?這時在Python 中就需要引入它自帶的一個標準數學模塊math。所謂標準模塊,就是Python 官方事先寫好的一系列可以拿來就用的功能(或叫函數,后面章節會介紹),使用者只要在程序的最開頭引入,然后直接使用即可。下面舉例說明。

示例2-6 變量a 的值為100,變量b 的值為30,編程計算a 和b 加減乘除四則運算的值,并計算100 的算術平方根和它的3 次方是多少。

代碼如下:

img
img

運行結果如下:

img

解說:代碼中第2 行引入了Python 自帶的數學模塊math,然后在第12 行調用其中的sqrt()函數計算變量a 的算術平方根,sqrt 就是求平方根的意思。第8 行進行完整的除法,結果因為沒有規定要保留多少位小數,Python 會自動按照它默認的方式保留這么多位的小數,后面會討論如何保留小數的位數。

Python 的math 模塊中還有很多數學里常見的運算和數學函數,比如math.pi 就是圓周率,math.e 就是自然對數。再看表2-3,大家可以打開Python 的交互式界面運行一下,看看結果。

表2-3

img

說明:注意其中的四舍五入函數round()和求絕對值函數abs()不是math 模塊中的函數,因此前面不要寫math,否則會報錯。因為這兩個操作太常見了,Python 并沒有把它們放入其math 模塊中。

如果x 是一個數,math.ceil(x)是求大于x 的最小整數,而math.floor(x)是求小于x 的最大整數,前者叫天花板函數,后者叫地板函數,在編程中也很常見。對于math模塊中的其他函數,大家可以在“>>>”符號后輸入dir(math)進行查看,具體的某一個函數,比如floor,可以在“>>>”符號后輸入help(math.floor)查看在線英文文檔,要退出查看模式,輸入一個小寫字母q 即可。

在實際的編程中不必死記硬背函數名,我們只要學會在“>>>”符號后使用help()幫助命令即可,這樣就可以隨時隨地查看我們所需要的Python 文檔,非常方便。

最后需要了解一下算術運算的優先級問題,這和數學中的規定一樣,整個運算表達式是從左向右進行運算的,先乘除,再加減,乘方運算優先于乘除運算,如果要改變運算的先后順序,可以按需添加圓括號,做除法運算時,分母不能為零。

主站蜘蛛池模板: 榕江县| 江山市| 龙门县| 禄劝| 保德县| 兴化市| 南丰县| 唐河县| 襄樊市| 沾化县| 当涂县| 石嘴山市| 临夏市| 红安县| 鄂托克前旗| 专栏| 读书| 淮阳县| 四子王旗| 江口县| 江阴市| 襄樊市| 布拖县| 南京市| 万源市| 安溪县| 筠连县| 武陟县| 宁陕县| 阿图什市| 岱山县| 祁门县| 浦城县| 缙云县| 芜湖县| 如皋市| 伊金霍洛旗| 绥中县| 鄂伦春自治旗| 尤溪县| 郓城县|