- 利用Python輕松學數學
- 蹇彤
- 1023字
- 2021-02-26 19:37:47
2.5 程序里的數學運算
我們可以使用Python 編程來解決很多數學問題,現在中小學課本里的大部分數學問題幾乎都可以通過Python 編程來解決。下面學習一些基本的運算。
算術運算在編程中就是常見的加減乘除和乘方,見表2-2。
表2-2

關于表2-2 中的內容,需要注意以下幾點:
· 除法分為完整除法和整數除法兩種,完整除法得到的商是一個浮點數,整數除法得到的商是一個整數。
· 乘法運算符號**表示“多少次方”。
· 符號%表示取余數,也叫模數,即被除數除以除數,商只能是整數的情況下得到的余數,它在編程中有很多巧妙的應用。
如果需要計算平方根和三角函數怎么辦?這時在Python 中就需要引入它自帶的一個標準數學模塊math。所謂標準模塊,就是Python 官方事先寫好的一系列可以拿來就用的功能(或叫函數,后面章節會介紹),使用者只要在程序的最開頭引入,然后直接使用即可。下面舉例說明。
示例2-6 變量a 的值為100,變量b 的值為30,編程計算a 和b 加減乘除四則運算的值,并計算100 的算術平方根和它的3 次方是多少。
代碼如下:


運行結果如下:

解說:代碼中第2 行引入了Python 自帶的數學模塊math,然后在第12 行調用其中的sqrt()函數計算變量a 的算術平方根,sqrt 就是求平方根的意思。第8 行進行完整的除法,結果因為沒有規定要保留多少位小數,Python 會自動按照它默認的方式保留這么多位的小數,后面會討論如何保留小數的位數。
Python 的math 模塊中還有很多數學里常見的運算和數學函數,比如math.pi 就是圓周率,math.e 就是自然對數。再看表2-3,大家可以打開Python 的交互式界面運行一下,看看結果。
表2-3

說明:注意其中的四舍五入函數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 文檔,非常方便。
最后需要了解一下算術運算的優先級問題,這和數學中的規定一樣,整個運算表達式是從左向右進行運算的,先乘除,再加減,乘方運算優先于乘除運算,如果要改變運算的先后順序,可以按需添加圓括號,做除法運算時,分母不能為零。